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 027007fb15b62..b9579872bd3f0 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) { @@ -1752,6 +1763,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { getImmediateAliasedSymbol, getAliasedSymbol: resolveAlias, getEmitResolver, + requiresAddingImplicitUndefined, getExportsOfModule: getExportsOfModuleAsArray, getExportsAndPropertiesOfModule, forEachExportAndPropertyOfModule, @@ -1899,6 +1911,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { getMemberOverrideModifierStatus, isTypeParameterPossiblyReferenced, typeHasCallOrConstructSignatures, + getSymbolFlags, }; function getCandidateSignaturesForStringLiteralCompletions(call: CallLikeExpression, editingArgument: Node) { @@ -2415,10 +2428,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 +2621,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 +2666,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 +2698,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 +2834,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 +4267,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 +4286,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 +4433,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 +5882,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 +5991,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 +6017,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 +6040,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 +6096,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 +6115,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 +6142,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 +6158,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 +6459,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 +6557,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 +7239,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 +7253,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 +7314,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 +7338,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 +7362,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 +7411,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 +7423,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 +7437,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 +7493,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 +7510,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 +7715,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 +8004,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 +8157,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 +8170,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 +8223,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 +8252,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 +8290,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 +8327,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 +8400,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 +8473,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 +8506,117 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return result === node ? setTextRange(context, factory.cloneNode(result), node) : result; } + 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; + } + }; + } + + function finalizeBoundary() { + context.tracker = oldTracker; + const newTrackedSymbols = context.trackedSymbols; + context.trackedSymbols = oldTrackedSymbols; + context.encounteredError = oldEncounteredError; + + 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) { - const oldContex = context; - context = cloneNodeBuilderContext(context); - const cleanup = enterNewScope(context, node, getParametersInScope(node), getTypeParametersInScope(node)); + return enterNewScope(context, node, getParametersInScope(node), getTypeParametersInScope(node)); + } - return onExitNewScope; + function tryVisitTypeReference(node: TypeReferenceNode) { + if (canReuseTypeNode(context, node)) { + const { introducesError, node: newName } = trackExistingEntityName(node.typeName, context); + const typeArguments = visitNodes(node.typeArguments, visitExistingNodeTreeSymbols, isTypeNode); - function onExitNewScope() { - cleanup?.(); - context = oldContex; + 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); + } + } } } 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 +8639,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 +8676,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 +8691,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 +8700,39 @@ 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; + } + hadError = true; + return 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 (isIndexedAccessTypeNode(node) && isTypeReferenceNode(node.objectType)) { + const objectType = tryVisitTypeReference(node.objectType); + if (!objectType) { + hadError = true; + return node; + } + return factory.updateIndexedAccessTypeNode(node, objectType, visitNode(node.indexType, visitExistingNodeTreeSymbols, isTypeNode)!); + } + + if (isTypeReferenceNode(node)) { + const result = tryVisitTypeReference(node); + if (result) { + return result; + } + hadError = true; + return node; } if (isLiteralImportTypeNode(node)) { const nodeSymbol = getNodeLinks(node).resolvedSymbol; @@ -8446,7 +8746,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 +8758,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 +8778,55 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } return visited; } - - if (isEntityName(node) || isEntityNameExpression(node)) { - if (isDeclarationName(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); + } + hadError = true; return 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 +8858,25 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { ); } + if (isTypeOperatorNode(node)) { + if (node.operator === SyntaxKind.UniqueKeyword && node.type.kind === SyntaxKind.SymbolKeyword) { + if (!canReuseTypeNode(context, node)) { + hadError = true; + return node; + } + } + else if (node.operator === SyntaxKind.KeyOfKeyword) { + if (isTypeReferenceNode(node.type)) { + const type = tryVisitTypeReference(node.type); + if (!type) { + hadError = true; + return node; + } + return factory.updateTypeOperatorNode(node, type); + } + } + } + return visitEachChild(node, visitExistingNodeTreeSymbols, /*context*/ undefined); function getEffectiveDotDotDotForParameter(p: ParameterDeclaration) { @@ -8531,13 +8892,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 +9182,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 +9695,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 +10856,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 +14564,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 +17274,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 +17526,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 +17669,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 +17830,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 +17862,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 +17875,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 +17886,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 +17919,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 +17927,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 +17944,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 +17953,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 +17983,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 +17997,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 +18024,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 +18240,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 +18894,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 +20245,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 +21130,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 +25312,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); } } @@ -29148,6 +29513,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function getNarrowableTypeForReference(type: Type, reference: Node, checkMode?: CheckMode) { + if (isNoInferType(type)) { + type = (type as SubstitutionType).baseType; + } // When the type of a reference is or contains an instantiable type with a union type constraint, and // when the reference is in a constraint position (where it is known we'll obtain the apparent type) or // has a contextual type containing no top-level instantiables (meaning constraints will determine @@ -29177,6 +29545,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; @@ -29198,6 +29846,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; @@ -29287,15 +30024,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 @@ -29306,7 +30040,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); @@ -29328,11 +30062,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } } - return getTypeOfSymbol(symbol); - } - - if (shouldMarkIdentifierAliasReferenced(node)) { - markAliasReferenced(symbol, node); + return; } const localOrExportSymbol = getExportSymbolOfValueSymbolIfExported(symbol); @@ -29341,7 +30071,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 @@ -29361,6 +30091,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); @@ -30325,9 +31082,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); } } @@ -31385,7 +32152,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); @@ -32191,12 +32958,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) { @@ -32472,39 +33234,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; @@ -33081,28 +33811,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) { @@ -37291,7 +38006,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } if (isGenerator) { - return createGeneratorReturnType( + return createGeneratorType( yieldType || neverType, returnType || fallbackReturnType, nextType || getContextualIterationType(IterationTypeKind.Next, func) || unknownType, @@ -37308,7 +38023,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; @@ -39227,11 +39942,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 { @@ -40107,7 +40825,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); } @@ -41438,10 +42156,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."); @@ -41646,8 +42361,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; } @@ -41866,59 +42580,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) { @@ -42026,48 +42687,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)) { @@ -46399,9 +47019,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) { @@ -46510,13 +47128,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 { @@ -46569,8 +47181,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 @@ -48209,12 +48821,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 @@ -48230,7 +48841,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); @@ -48317,6 +48928,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); @@ -48443,6 +49060,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); @@ -48463,7 +49203,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; @@ -48620,6 +49363,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 => { @@ -48759,25 +49503,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) @@ -48868,9 +49593,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, @@ -48893,6 +49619,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, @@ -48903,7 +49633,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); @@ -49093,42 +49822,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; } } } @@ -49190,11 +49920,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 @@ -50204,7 +50935,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return true; } } - return false; } } @@ -51142,6 +51872,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 { @@ -51239,16 +51986,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..4deb7ecbd9a36 100644 --- a/src/compiler/transformers/esnext.ts +++ b/src/compiler/transformers/esnext.ts @@ -14,6 +14,7 @@ import { ExportAssignment, ExportSpecifier, Expression, + firstOrUndefined, ForOfStatement, ForStatement, GeneratedIdentifierFlags, @@ -61,7 +62,7 @@ import { visitNode, visitNodes, VisitResult, -} from "../_namespaces/ts"; +} from "../_namespaces/ts.js"; const enum UsingKind { None, @@ -305,11 +306,7 @@ export function transformESNext(context: TransformationContext): (x: SourceFile // // before handing the shallow transformation back to the visitor for an in-depth transformation. const forInitializer = node.initializer; - Debug.assertNode(forInitializer, isUsingVariableDeclarationList); - Debug.assert(forInitializer.declarations.length === 1, "ForInitializer may only have one declaration"); - - const forDecl = forInitializer.declarations[0]; - Debug.assert(!forDecl.initializer, "ForInitializer may not have an initializer"); + const forDecl = firstOrUndefined(forInitializer.declarations) || factory.createVariableDeclaration(factory.createTempVariable(/*recordTempVariable*/ undefined)); const isAwaitUsing = getUsingKindOfVariableDeclarationList(forInitializer) === UsingKind.Async; const temp = factory.getGeneratedNameForNode(forDecl.name); 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..9df1b4a8e7f31 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,8 @@ 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 */ requiresAddingImplicitUndefined(parameter: ParameterDeclaration | JSDocParameterTag): boolean; /** @internal */ getNodeCount(): number; /** @internal */ getIdentifierCount(): number; @@ -5355,6 +5355,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 +5365,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 +5382,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 +5436,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 +5547,7 @@ export const enum SymbolAccessibility { Accessible, NotAccessible, CannotBeNamed, + NotResolved, } /** @internal */ @@ -5741,9 +5753,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 +5779,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 +5939,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 +5954,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 +5971,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 +6115,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 +6144,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 +10330,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 3b67540ffcb8e..8f9238385deff 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[] = []; @@ -2485,6 +2485,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); @@ -6679,6 +6680,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); @@ -11116,7 +11118,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 || @@ -11135,6 +11138,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..70ceb0c31eba3 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, ]; @@ -180,7 +183,7 @@ registerCodeFix({ addCodeAction(addInlineTypeAssertion, fixes, context, TypePrintMode.Full, f => f.addInlineAssertion(context.span)); addCodeAction(addInlineTypeAssertion, fixes, context, TypePrintMode.Relative, f => f.addInlineAssertion(context.span)); - addCodeAction(addAnnotationFix, fixes, context, TypePrintMode.Widened, f => f.addInlineAssertion(context.span)); + addCodeAction(addInlineTypeAssertion, fixes, context, TypePrintMode.Widened, f => f.addInlineAssertion(context.span)); addCodeAction(extractExpression, fixes, context, TypePrintMode.Full, f => f.extractAsVariable(context.span)); @@ -234,7 +237,6 @@ function withContext( const sourceFile: SourceFile = context.sourceFile; const program = context.program; const typeChecker: TypeChecker = program.getTypeChecker(); - const emitResolver = typeChecker.getEmitResolver(); const scriptTarget = getEmitScriptTarget(program.getCompilerOptions()); const importAdder = createImportAdder(context.sourceFile, context.program, context.preferences, context.host); const fixedNodes = new Set(); @@ -351,7 +353,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 @@ -884,7 +886,7 @@ function withContext( type = widenedType; } - if (isParameter(node) && emitResolver.requiresAddingImplicitUndefined(node)) { + if (isParameter(node) && typeChecker.requiresAddingImplicitUndefined(node)) { type = typeChecker.getUnionType([typeChecker.getUndefinedType(), type], UnionReduction.None); } const flags = ( @@ -1105,26 +1107,26 @@ function withContext( setEmitFlags(node, EmitFlags.None); return result; } -} -// Some --isolatedDeclarations errors are not present on the node that directly needs type annotation, so look in the -// ancestors to look for node that needs type annotation. This function can return undefined if the AST is ill-formed. -function findAncestorWithMissingType(node: Node): Node | undefined { - return findAncestor(node, n => { - return canHaveTypeAnnotation.has(n.kind) && - ((!isObjectBindingPattern(n) && !isArrayBindingPattern(n)) || isVariableDeclaration(n.parent)); - }); -} - -function findBestFittingNode(node: Node, span: TextSpan) { - while (node && node.end < span.start + span.length) { - node = node.parent; - } - while (node.parent.pos === node.pos && node.parent.end === node.end) { - node = node.parent; + // Some --isolatedDeclarations errors are not present on the node that directly needs type annotation, so look in the + // ancestors to look for node that needs type annotation. This function can return undefined if the AST is ill-formed. + function findAncestorWithMissingType(node: Node): Node | undefined { + return findAncestor(node, n => { + return canHaveTypeAnnotation.has(n.kind) && + ((!isObjectBindingPattern(n) && !isArrayBindingPattern(n)) || isVariableDeclaration(n.parent)); + }); } - if (isIdentifier(node) && hasInitializer(node.parent) && node.parent.initializer) { - return node.parent.initializer; + + function findBestFittingNode(node: Node, span: TextSpan) { + while (node && node.end < span.start + span.length) { + node = node.parent; + } + while (node.parent.pos === node.pos && node.parent.end === node.end) { + node = node.parent; + } + if (isIdentifier(node) && hasInitializer(node.parent) && node.parent.initializer) { + return node.parent.initializer; + } + return node; } - return node; } 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/awaitUsingDeclarationsInForAwaitOf.3(target=es5).errors.txt b/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf.3(target=es5).errors.txt new file mode 100644 index 0000000000000..72a09855d0899 --- /dev/null +++ b/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf.3(target=es5).errors.txt @@ -0,0 +1,22 @@ +awaitUsingDeclarationsInForAwaitOf.3.ts(5,5): error TS1432: Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher. +awaitUsingDeclarationsInForAwaitOf.3.ts(5,23): error TS1123: Variable declaration list cannot be empty. +awaitUsingDeclarationsInForAwaitOf.3.ts(8,25): error TS1123: Variable declaration list cannot be empty. + + +==== awaitUsingDeclarationsInForAwaitOf.3.ts (3 errors) ==== + // https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357 + + declare const x: any[] + + for await (await using of x); + ~~~~~ +!!! error TS1432: Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher. + +!!! error TS1123: Variable declaration list cannot be empty. + + export async function test() { + for await (await using of x); + +!!! error TS1123: Variable declaration list cannot be empty. + } + \ No newline at end of file diff --git a/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf.3(target=es5).js b/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf.3(target=es5).js new file mode 100644 index 0000000000000..2a13612d602c6 --- /dev/null +++ b/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf.3(target=es5).js @@ -0,0 +1,196 @@ +//// [tests/cases/conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsInForAwaitOf.3.ts] //// + +//// [awaitUsingDeclarationsInForAwaitOf.3.ts] +// https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357 + +declare const x: any[] + +for await (await using of x); + +export async function test() { + for await (await using of x); +} + + +//// [awaitUsingDeclarationsInForAwaitOf.3.js] +// https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357 +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (g && (g = 0, op[0] && (_ = 0)), _) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +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, inner; + if (async) { + if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); + dispose = value[Symbol.asyncDispose]; + } + 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) { + env.stack.push({ async: true }); + } + return value; +}; +var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) { + return function (env) { + function fail(e) { + env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; + env.hasError = true; + } + function next() { + while (env.stack.length) { + var rec = env.stack.pop(); + try { + var result = rec.dispose && rec.dispose.call(rec.value); + if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); + } + catch (e) { + fail(e); + } + } + if (env.hasError) throw env.error; + } + return next(); + }; +})(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; +}); +var __asyncValues = (this && this.__asyncValues) || function (o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); + function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } + function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } +}; +var _a, e_1, _b, _c; +try { + for (var _d = true, x_1 = __asyncValues(x), x_1_1; x_1_1 = await x_1.next(), _a = x_1_1.done, !_a; _d = true) { + _c = x_1_1.value; + _d = false; + var _e_1 = _c; + var env_1 = { stack: [], error: void 0, hasError: false }; + try { + var _e = __addDisposableResource(env_1, _e_1, true); + ; + } + catch (e_2) { + env_1.error = e_2; + env_1.hasError = true; + } + finally { + var result_1 = __disposeResources(env_1); + if (result_1) + await result_1; + } + } +} +catch (e_1_1) { e_1 = { error: e_1_1 }; } +finally { + try { + if (!_d && !_a && (_b = x_1.return)) await _b.call(x_1); + } + finally { if (e_1) throw e_1.error; } +} +export function test() { + return __awaiter(this, void 0, void 0, function () { + var _a, x_2, x_2_1, _b_1, env_2, _b, e_3, result_2, e_4_1; + var _c, e_4, _d, _e; + return __generator(this, function (_f) { + switch (_f.label) { + case 0: + _f.trys.push([0, 10, 11, 16]); + _a = true, x_2 = __asyncValues(x); + _f.label = 1; + case 1: return [4 /*yield*/, x_2.next()]; + case 2: + if (!(x_2_1 = _f.sent(), _c = x_2_1.done, !_c)) return [3 /*break*/, 9]; + _e = x_2_1.value; + _a = false; + _b_1 = _e; + env_2 = { stack: [], error: void 0, hasError: false }; + _f.label = 3; + case 3: + _f.trys.push([3, 4, 5, 8]); + _b = __addDisposableResource(env_2, _b_1, true); + ; + return [3 /*break*/, 8]; + case 4: + e_3 = _f.sent(); + env_2.error = e_3; + env_2.hasError = true; + return [3 /*break*/, 8]; + case 5: + result_2 = __disposeResources(env_2); + if (!result_2) return [3 /*break*/, 7]; + return [4 /*yield*/, result_2]; + case 6: + _f.sent(); + _f.label = 7; + case 7: return [7 /*endfinally*/]; + case 8: + _a = true; + return [3 /*break*/, 1]; + case 9: return [3 /*break*/, 16]; + case 10: + e_4_1 = _f.sent(); + e_4 = { error: e_4_1 }; + return [3 /*break*/, 16]; + case 11: + _f.trys.push([11, , 14, 15]); + if (!(!_a && !_c && (_d = x_2.return))) return [3 /*break*/, 13]; + return [4 /*yield*/, _d.call(x_2)]; + case 12: + _f.sent(); + _f.label = 13; + case 13: return [3 /*break*/, 15]; + case 14: + if (e_4) throw e_4.error; + return [7 /*endfinally*/]; + case 15: return [7 /*endfinally*/]; + case 16: return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf.3(target=esnext).errors.txt b/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf.3(target=esnext).errors.txt new file mode 100644 index 0000000000000..83f6f9e7e3144 --- /dev/null +++ b/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf.3(target=esnext).errors.txt @@ -0,0 +1,19 @@ +awaitUsingDeclarationsInForAwaitOf.3.ts(5,23): error TS1123: Variable declaration list cannot be empty. +awaitUsingDeclarationsInForAwaitOf.3.ts(8,25): error TS1123: Variable declaration list cannot be empty. + + +==== awaitUsingDeclarationsInForAwaitOf.3.ts (2 errors) ==== + // https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357 + + declare const x: any[] + + for await (await using of x); + +!!! error TS1123: Variable declaration list cannot be empty. + + export async function test() { + for await (await using of x); + +!!! error TS1123: Variable declaration list cannot be empty. + } + \ No newline at end of file diff --git a/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf.3(target=esnext).js b/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf.3(target=esnext).js new file mode 100644 index 0000000000000..f78d407bb53f7 --- /dev/null +++ b/tests/baselines/reference/awaitUsingDeclarationsInForAwaitOf.3(target=esnext).js @@ -0,0 +1,22 @@ +//// [tests/cases/conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsInForAwaitOf.3.ts] //// + +//// [awaitUsingDeclarationsInForAwaitOf.3.ts] +// https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357 + +declare const x: any[] + +for await (await using of x); + +export async function test() { + for await (await using of x); +} + + +//// [awaitUsingDeclarationsInForAwaitOf.3.js] +// https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357 +for await (await using of x) + ; +export async function test() { + for await (await using of x) + ; +} 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/awaitUsingDeclarationsInForOf.5(target=es5).errors.txt b/tests/baselines/reference/awaitUsingDeclarationsInForOf.5(target=es5).errors.txt new file mode 100644 index 0000000000000..0cc4b1df6bc21 --- /dev/null +++ b/tests/baselines/reference/awaitUsingDeclarationsInForOf.5(target=es5).errors.txt @@ -0,0 +1,19 @@ +awaitUsingDeclarationsInForOf.5.ts(5,17): error TS1123: Variable declaration list cannot be empty. +awaitUsingDeclarationsInForOf.5.ts(8,19): error TS1123: Variable declaration list cannot be empty. + + +==== awaitUsingDeclarationsInForOf.5.ts (2 errors) ==== + // https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357 + + declare const x: any[] + + for (await using of x); + +!!! error TS1123: Variable declaration list cannot be empty. + + export async function test() { + for (await using of x); + +!!! error TS1123: Variable declaration list cannot be empty. + } + \ No newline at end of file diff --git a/tests/baselines/reference/awaitUsingDeclarationsInForOf.5(target=es5).js b/tests/baselines/reference/awaitUsingDeclarationsInForOf.5(target=es5).js new file mode 100644 index 0000000000000..a5bccb513f76c --- /dev/null +++ b/tests/baselines/reference/awaitUsingDeclarationsInForOf.5(target=es5).js @@ -0,0 +1,155 @@ +//// [tests/cases/conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsInForOf.5.ts] //// + +//// [awaitUsingDeclarationsInForOf.5.ts] +// https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357 + +declare const x: any[] + +for (await using of x); + +export async function test() { + for (await using of x); +} + + +//// [awaitUsingDeclarationsInForOf.5.js] +// https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357 +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (g && (g = 0, op[0] && (_ = 0)), _) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +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, inner; + if (async) { + if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); + dispose = value[Symbol.asyncDispose]; + } + 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) { + env.stack.push({ async: true }); + } + return value; +}; +var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) { + return function (env) { + function fail(e) { + env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; + env.hasError = true; + } + function next() { + while (env.stack.length) { + var rec = env.stack.pop(); + try { + var result = rec.dispose && rec.dispose.call(rec.value); + if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); + } + catch (e) { + fail(e); + } + } + if (env.hasError) throw env.error; + } + return next(); + }; +})(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; +}); +for (var _i = 0, x_1 = x; _i < x_1.length; _i++) { + var _a_1 = x_1[_i]; + var env_1 = { stack: [], error: void 0, hasError: false }; + try { + var _a = __addDisposableResource(env_1, _a_1, true); + ; + } + catch (e_1) { + env_1.error = e_1; + env_1.hasError = true; + } + finally { + var result_1 = __disposeResources(env_1); + if (result_1) + await result_1; + } +} +export function test() { + return __awaiter(this, void 0, void 0, function () { + var _i, x_2, _a_2, env_2, _a, e_2, result_2; + return __generator(this, function (_b) { + switch (_b.label) { + case 0: + _i = 0, x_2 = x; + _b.label = 1; + case 1: + if (!(_i < x_2.length)) return [3 /*break*/, 8]; + _a_2 = x_2[_i]; + env_2 = { stack: [], error: void 0, hasError: false }; + _b.label = 2; + case 2: + _b.trys.push([2, 3, 4, 7]); + _a = __addDisposableResource(env_2, _a_2, true); + ; + return [3 /*break*/, 7]; + case 3: + e_2 = _b.sent(); + env_2.error = e_2; + env_2.hasError = true; + return [3 /*break*/, 7]; + case 4: + result_2 = __disposeResources(env_2); + if (!result_2) return [3 /*break*/, 6]; + return [4 /*yield*/, result_2]; + case 5: + _b.sent(); + _b.label = 6; + case 6: return [7 /*endfinally*/]; + case 7: + _i++; + return [3 /*break*/, 1]; + case 8: return [2 /*return*/]; + } + }); + }); +} diff --git a/tests/baselines/reference/awaitUsingDeclarationsInForOf.5(target=esnext).errors.txt b/tests/baselines/reference/awaitUsingDeclarationsInForOf.5(target=esnext).errors.txt new file mode 100644 index 0000000000000..0cc4b1df6bc21 --- /dev/null +++ b/tests/baselines/reference/awaitUsingDeclarationsInForOf.5(target=esnext).errors.txt @@ -0,0 +1,19 @@ +awaitUsingDeclarationsInForOf.5.ts(5,17): error TS1123: Variable declaration list cannot be empty. +awaitUsingDeclarationsInForOf.5.ts(8,19): error TS1123: Variable declaration list cannot be empty. + + +==== awaitUsingDeclarationsInForOf.5.ts (2 errors) ==== + // https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357 + + declare const x: any[] + + for (await using of x); + +!!! error TS1123: Variable declaration list cannot be empty. + + export async function test() { + for (await using of x); + +!!! error TS1123: Variable declaration list cannot be empty. + } + \ No newline at end of file diff --git a/tests/baselines/reference/awaitUsingDeclarationsInForOf.5(target=esnext).js b/tests/baselines/reference/awaitUsingDeclarationsInForOf.5(target=esnext).js new file mode 100644 index 0000000000000..87751e03b95fb --- /dev/null +++ b/tests/baselines/reference/awaitUsingDeclarationsInForOf.5(target=esnext).js @@ -0,0 +1,22 @@ +//// [tests/cases/conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsInForOf.5.ts] //// + +//// [awaitUsingDeclarationsInForOf.5.ts] +// https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357 + +declare const x: any[] + +for (await using of x); + +export async function test() { + for (await using of x); +} + + +//// [awaitUsingDeclarationsInForOf.5.js] +// https://github.com/microsoft/TypeScript/pull/55558#issuecomment-1817595357 +for (await using of x) + ; +export async function test() { + for (await using of x) + ; +} 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..8c842614b3fcf 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/declarationEmitAliasInlineing.js b/tests/baselines/reference/declarationEmitAliasInlineing.js new file mode 100644 index 0000000000000..73ad5be9da142 --- /dev/null +++ b/tests/baselines/reference/declarationEmitAliasInlineing.js @@ -0,0 +1,85 @@ +//// [tests/cases/compiler/declarationEmitAliasInlineing.ts] //// + +//// [a.ts] +type O = { + prop: string + prop2: string +} + +type I = { + prop: string +} + +export const fn = (v: O['prop'], p: Omit, key: keyof O, p2: Omit) => {}; + +//// [aExp.ts] +export type O = { + prop: string + prop2: string +} + +export type I = { + prop: string +} + +export const fnExp = (v: O['prop'], p: Omit, key: keyof O, p2: Omit) => {}; + +//// [b.ts] +import {fn} from './a' +import {fnExp} from './aExp' +export const f = fn; +export const fExp = fnExp; + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fn = void 0; +var fn = function (v, p, key, p2) { }; +exports.fn = fn; +//// [aExp.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fnExp = void 0; +var fnExp = function (v, p, key, p2) { }; +exports.fnExp = fnExp; +//// [b.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fExp = exports.f = void 0; +var a_1 = require("./a"); +var aExp_1 = require("./aExp"); +exports.f = a_1.fn; +exports.fExp = aExp_1.fnExp; + + +//// [a.d.ts] +type O = { + prop: string; + prop2: string; +}; +type I = { + prop: string; +}; +export declare const fn: (v: O["prop"], p: Omit, key: keyof O, p2: Omit) => void; +export {}; +//// [aExp.d.ts] +export type O = { + prop: string; + prop2: string; +}; +export type I = { + prop: string; +}; +export declare const fnExp: (v: O["prop"], p: Omit, key: keyof O, p2: Omit) => void; +//// [b.d.ts] +export declare const f: (v: string, p: Omit<{ + prop: string; + prop2: string; +}, "prop">, key: keyof { + prop: string; + prop2: string; +}, p2: Omit<{ + prop: string; + prop2: string; +}, "prop">) => void; +export declare const fExp: (v: import("./aExp").O["prop"], p: Omit, key: keyof import("./aExp").O, p2: Omit) => void; diff --git a/tests/baselines/reference/declarationEmitAliasInlineing.symbols b/tests/baselines/reference/declarationEmitAliasInlineing.symbols new file mode 100644 index 0000000000000..0aea42299b0ca --- /dev/null +++ b/tests/baselines/reference/declarationEmitAliasInlineing.symbols @@ -0,0 +1,81 @@ +//// [tests/cases/compiler/declarationEmitAliasInlineing.ts] //// + +=== a.ts === +type O = { +>O : Symbol(O, Decl(a.ts, 0, 0)) + + prop: string +>prop : Symbol(prop, Decl(a.ts, 0, 10)) + + prop2: string +>prop2 : Symbol(prop2, Decl(a.ts, 1, 16)) +} + +type I = { +>I : Symbol(I, Decl(a.ts, 3, 1)) + + prop: string +>prop : Symbol(prop, Decl(a.ts, 5, 10)) +} + +export const fn = (v: O['prop'], p: Omit, key: keyof O, p2: Omit) => {}; +>fn : Symbol(fn, Decl(a.ts, 9, 12)) +>v : Symbol(v, Decl(a.ts, 9, 19)) +>O : Symbol(O, Decl(a.ts, 0, 0)) +>p : Symbol(p, Decl(a.ts, 9, 32)) +>Omit : Symbol(Omit, Decl(lib.es5.d.ts, --, --)) +>O : Symbol(O, Decl(a.ts, 0, 0)) +>key : Symbol(key, Decl(a.ts, 9, 52)) +>O : Symbol(O, Decl(a.ts, 0, 0)) +>p2 : Symbol(p2, Decl(a.ts, 9, 66)) +>Omit : Symbol(Omit, Decl(lib.es5.d.ts, --, --)) +>O : Symbol(O, Decl(a.ts, 0, 0)) +>I : Symbol(I, Decl(a.ts, 3, 1)) + +=== aExp.ts === +export type O = { +>O : Symbol(O, Decl(aExp.ts, 0, 0)) + + prop: string +>prop : Symbol(prop, Decl(aExp.ts, 0, 17)) + + prop2: string +>prop2 : Symbol(prop2, Decl(aExp.ts, 1, 16)) +} + +export type I = { +>I : Symbol(I, Decl(aExp.ts, 3, 1)) + + prop: string +>prop : Symbol(prop, Decl(aExp.ts, 5, 17)) +} + +export const fnExp = (v: O['prop'], p: Omit, key: keyof O, p2: Omit) => {}; +>fnExp : Symbol(fnExp, Decl(aExp.ts, 9, 12)) +>v : Symbol(v, Decl(aExp.ts, 9, 22)) +>O : Symbol(O, Decl(aExp.ts, 0, 0)) +>p : Symbol(p, Decl(aExp.ts, 9, 35)) +>Omit : Symbol(Omit, Decl(lib.es5.d.ts, --, --)) +>O : Symbol(O, Decl(aExp.ts, 0, 0)) +>key : Symbol(key, Decl(aExp.ts, 9, 55)) +>O : Symbol(O, Decl(aExp.ts, 0, 0)) +>p2 : Symbol(p2, Decl(aExp.ts, 9, 69)) +>Omit : Symbol(Omit, Decl(lib.es5.d.ts, --, --)) +>O : Symbol(O, Decl(aExp.ts, 0, 0)) +>I : Symbol(I, Decl(aExp.ts, 3, 1)) + +=== b.ts === +import {fn} from './a' +>fn : Symbol(fn, Decl(b.ts, 0, 8)) + +import {fnExp} from './aExp' +>fnExp : Symbol(fnExp, Decl(b.ts, 1, 8)) + +export const f = fn; +>f : Symbol(f, Decl(b.ts, 2, 12)) +>fn : Symbol(fn, Decl(b.ts, 0, 8)) + +export const fExp = fnExp; +>fExp : Symbol(fExp, Decl(b.ts, 3, 12)) +>fnExp : Symbol(fnExp, Decl(b.ts, 1, 8)) + diff --git a/tests/baselines/reference/declarationEmitAliasInlineing.types b/tests/baselines/reference/declarationEmitAliasInlineing.types new file mode 100644 index 0000000000000..a03f57311a4ee --- /dev/null +++ b/tests/baselines/reference/declarationEmitAliasInlineing.types @@ -0,0 +1,97 @@ +//// [tests/cases/compiler/declarationEmitAliasInlineing.ts] //// + +=== a.ts === +type O = { +>O : O +> : ^ + + prop: string +>prop : string +> : ^^^^^^ + + prop2: string +>prop2 : string +> : ^^^^^^ +} + +type I = { +>I : I +> : ^ + + prop: string +>prop : string +> : ^^^^^^ +} + +export const fn = (v: O['prop'], p: Omit, key: keyof O, p2: Omit) => {}; +>fn : (v: O["prop"], p: Omit, key: keyof O, p2: Omit) => void +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>(v: O['prop'], p: Omit, key: keyof O, p2: Omit) => {} : (v: O["prop"], p: Omit, key: keyof O, p2: Omit) => void +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>v : string +> : ^^^^^^ +>p : Omit +> : ^^^^^^^^^^^^^^^ +>key : keyof O +> : ^^^^^^^ +>p2 : Omit +> : ^^^^^^^^^^^^^^^ + +=== aExp.ts === +export type O = { +>O : O +> : ^ + + prop: string +>prop : string +> : ^^^^^^ + + prop2: string +>prop2 : string +> : ^^^^^^ +} + +export type I = { +>I : I +> : ^ + + prop: string +>prop : string +> : ^^^^^^ +} + +export const fnExp = (v: O['prop'], p: Omit, key: keyof O, p2: Omit) => {}; +>fnExp : (v: O["prop"], p: Omit, key: keyof O, p2: Omit) => void +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>(v: O['prop'], p: Omit, key: keyof O, p2: Omit) => {} : (v: O["prop"], p: Omit, key: keyof O, p2: Omit) => void +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^^ +>v : string +> : ^^^^^^ +>p : Omit +> : ^^^^^^^^^^^^^^^ +>key : keyof O +> : ^^^^^^^ +>p2 : Omit +> : ^^^^^^^^^^^^^^^ + +=== b.ts === +import {fn} from './a' +>fn : (v: string, p: Omit<{ prop: string; prop2: string; }, "prop">, key: keyof { prop: string; prop2: string; }, p2: Omit<{ prop: string; prop2: string; }, "prop">) => void +> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ + +import {fnExp} from './aExp' +>fnExp : (v: import("aExp").O["prop"], p: Omit, key: keyof import("aExp").O, p2: Omit) => void +> : ^ ^^ ^^^^^^ ^ ^^ ^^ ^^^^^^ ^ ^^ ^^ ^^^^^^ ^^^ ^^ ^^^^^^ ^ ^^^^^^ ^ ^^^^^^^^^ + +export const f = fn; +>f : (v: string, p: Omit<{ prop: string; prop2: string; }, "prop">, key: keyof { prop: string; prop2: string; }, p2: Omit<{ prop: string; prop2: string; }, "prop">) => void +> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ +>fn : (v: string, p: Omit<{ prop: string; prop2: string; }, "prop">, key: keyof { prop: string; prop2: string; }, p2: Omit<{ prop: string; prop2: string; }, "prop">) => void +> : ^ ^^^^^^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^ ^^^ ^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^ ^^^^^^^^^ ^^^ ^^^^^^ ^^^^^^^^^ + +export const fExp = fnExp; +>fExp : (v: import("aExp").O["prop"], p: Omit, key: keyof import("aExp").O, p2: Omit) => void +> : ^ ^^ ^^^^^^ ^ ^^ ^^ ^^^^^^ ^ ^^ ^^ ^^^^^^ ^^^ ^^ ^^^^^^ ^ ^^^^^^ ^ ^^^^^^^^^ +>fnExp : (v: import("aExp").O["prop"], p: Omit, key: keyof import("aExp").O, p2: Omit) => void +> : ^ ^^ ^^^^^^ ^ ^^ ^^ ^^^^^^ ^ ^^ ^^ ^^^^^^ ^^^ ^^ ^^^^^^ ^ ^^^^^^ ^ ^^^^^^^^^ + 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..42c12d8a39538 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 "a" | "b"]: 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 "a" | "b"]: 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.symbols b/tests/baselines/reference/narrowingNoInfer1.symbols new file mode 100644 index 0000000000000..a5f3ba9ab151f --- /dev/null +++ b/tests/baselines/reference/narrowingNoInfer1.symbols @@ -0,0 +1,100 @@ +//// [tests/cases/compiler/narrowingNoInfer1.ts] //// + +=== narrowingNoInfer1.ts === +// https://github.com/microsoft/TypeScript/issues/58266 + +type TaggedA = { _tag: "a" }; +>TaggedA : Symbol(TaggedA, Decl(narrowingNoInfer1.ts, 0, 0)) +>_tag : Symbol(_tag, Decl(narrowingNoInfer1.ts, 2, 16)) + +type TaggedB = { _tag: "b" }; +>TaggedB : Symbol(TaggedB, Decl(narrowingNoInfer1.ts, 2, 29)) +>_tag : Symbol(_tag, Decl(narrowingNoInfer1.ts, 3, 16)) + +type TaggedUnion = TaggedA | TaggedB; +>TaggedUnion : Symbol(TaggedUnion, Decl(narrowingNoInfer1.ts, 3, 29)) +>TaggedA : Symbol(TaggedA, Decl(narrowingNoInfer1.ts, 0, 0)) +>TaggedB : Symbol(TaggedB, Decl(narrowingNoInfer1.ts, 2, 29)) + +const m: { result: NoInfer }[] = []; +>m : Symbol(m, Decl(narrowingNoInfer1.ts, 7, 5)) +>result : Symbol(result, Decl(narrowingNoInfer1.ts, 7, 10)) +>NoInfer : Symbol(NoInfer, Decl(lib.es5.d.ts, --, --)) +>TaggedUnion : Symbol(TaggedUnion, Decl(narrowingNoInfer1.ts, 3, 29)) + +function map(items: readonly A[], f: (a: NoInfer) => B) { +>map : Symbol(map, Decl(narrowingNoInfer1.ts, 7, 49)) +>A : Symbol(A, Decl(narrowingNoInfer1.ts, 9, 13)) +>B : Symbol(B, Decl(narrowingNoInfer1.ts, 9, 15)) +>items : Symbol(items, Decl(narrowingNoInfer1.ts, 9, 19)) +>A : Symbol(A, Decl(narrowingNoInfer1.ts, 9, 13)) +>f : Symbol(f, Decl(narrowingNoInfer1.ts, 9, 39)) +>a : Symbol(a, Decl(narrowingNoInfer1.ts, 9, 44)) +>NoInfer : Symbol(NoInfer, Decl(lib.es5.d.ts, --, --)) +>A : Symbol(A, Decl(narrowingNoInfer1.ts, 9, 13)) +>B : Symbol(B, Decl(narrowingNoInfer1.ts, 9, 15)) + + return items.map(f); +>items.map : Symbol(ReadonlyArray.map, Decl(lib.es5.d.ts, --, --)) +>items : Symbol(items, Decl(narrowingNoInfer1.ts, 9, 19)) +>map : Symbol(ReadonlyArray.map, Decl(lib.es5.d.ts, --, --)) +>f : Symbol(f, Decl(narrowingNoInfer1.ts, 9, 39)) +} + +const something = map(m, (_) => +>something : Symbol(something, Decl(narrowingNoInfer1.ts, 13, 5)) +>map : Symbol(map, Decl(narrowingNoInfer1.ts, 7, 49)) +>m : Symbol(m, Decl(narrowingNoInfer1.ts, 7, 5)) +>_ : Symbol(_, Decl(narrowingNoInfer1.ts, 13, 26)) + + _.result._tag === "a" ? { ..._, result: _.result } : null, +>_.result._tag : Symbol(_tag, Decl(narrowingNoInfer1.ts, 2, 16), Decl(narrowingNoInfer1.ts, 3, 16)) +>_.result : Symbol(result, Decl(narrowingNoInfer1.ts, 7, 10)) +>_ : Symbol(_, Decl(narrowingNoInfer1.ts, 13, 26)) +>result : Symbol(result, Decl(narrowingNoInfer1.ts, 7, 10)) +>_tag : Symbol(_tag, Decl(narrowingNoInfer1.ts, 2, 16), Decl(narrowingNoInfer1.ts, 3, 16)) +>_ : Symbol(_, Decl(narrowingNoInfer1.ts, 13, 26)) +>result : Symbol(result, Decl(narrowingNoInfer1.ts, 14, 33)) +>_.result : Symbol(result, Decl(narrowingNoInfer1.ts, 7, 10)) +>_ : Symbol(_, Decl(narrowingNoInfer1.ts, 13, 26)) +>result : Symbol(result, Decl(narrowingNoInfer1.ts, 7, 10)) + +); + +declare function test2(a: T1, b: T2, cb: (thing: NoInfer | NoInfer) => void): void; +>test2 : Symbol(test2, Decl(narrowingNoInfer1.ts, 15, 2)) +>T1 : Symbol(T1, Decl(narrowingNoInfer1.ts, 17, 23)) +>T2 : Symbol(T2, Decl(narrowingNoInfer1.ts, 17, 26)) +>a : Symbol(a, Decl(narrowingNoInfer1.ts, 17, 31)) +>T1 : Symbol(T1, Decl(narrowingNoInfer1.ts, 17, 23)) +>b : Symbol(b, Decl(narrowingNoInfer1.ts, 17, 37)) +>T2 : Symbol(T2, Decl(narrowingNoInfer1.ts, 17, 26)) +>cb : Symbol(cb, Decl(narrowingNoInfer1.ts, 17, 44)) +>thing : Symbol(thing, Decl(narrowingNoInfer1.ts, 17, 50)) +>NoInfer : Symbol(NoInfer, Decl(lib.es5.d.ts, --, --)) +>T1 : Symbol(T1, Decl(narrowingNoInfer1.ts, 17, 23)) +>NoInfer : Symbol(NoInfer, Decl(lib.es5.d.ts, --, --)) +>T2 : Symbol(T2, Decl(narrowingNoInfer1.ts, 17, 26)) + +test2({ type: 'a' as const }, { type: 'b' as const }, (thing) => { +>test2 : Symbol(test2, Decl(narrowingNoInfer1.ts, 15, 2)) +>type : Symbol(type, Decl(narrowingNoInfer1.ts, 19, 7)) +>const : Symbol(const) +>type : Symbol(type, Decl(narrowingNoInfer1.ts, 19, 31)) +>const : Symbol(const) +>thing : Symbol(thing, Decl(narrowingNoInfer1.ts, 19, 55)) + + if (thing.type === "a") { +>thing.type : Symbol(type, Decl(narrowingNoInfer1.ts, 19, 7), Decl(narrowingNoInfer1.ts, 19, 31)) +>thing : Symbol(thing, Decl(narrowingNoInfer1.ts, 19, 55)) +>type : Symbol(type, Decl(narrowingNoInfer1.ts, 19, 7), Decl(narrowingNoInfer1.ts, 19, 31)) + + thing; +>thing : Symbol(thing, Decl(narrowingNoInfer1.ts, 19, 55)) + + } else { + thing; +>thing : Symbol(thing, Decl(narrowingNoInfer1.ts, 19, 55)) + } +}); + diff --git a/tests/baselines/reference/narrowingNoInfer1.types b/tests/baselines/reference/narrowingNoInfer1.types new file mode 100644 index 0000000000000..d03abad7733d5 --- /dev/null +++ b/tests/baselines/reference/narrowingNoInfer1.types @@ -0,0 +1,159 @@ +//// [tests/cases/compiler/narrowingNoInfer1.ts] //// + +=== narrowingNoInfer1.ts === +// https://github.com/microsoft/TypeScript/issues/58266 + +type TaggedA = { _tag: "a" }; +>TaggedA : TaggedA +> : ^^^^^^^ +>_tag : "a" +> : ^^^ + +type TaggedB = { _tag: "b" }; +>TaggedB : TaggedB +> : ^^^^^^^ +>_tag : "b" +> : ^^^ + +type TaggedUnion = TaggedA | TaggedB; +>TaggedUnion : TaggedUnion +> : ^^^^^^^^^^^ + +const m: { result: NoInfer }[] = []; +>m : { result: NoInfer; }[] +> : ^^^^^^^^^^ ^^^^^ +>result : NoInfer +> : ^^^^^^^^^^^^^^^^^^^^ +>[] : never[] +> : ^^^^^^^ + +function map(items: readonly A[], f: (a: NoInfer) => B) { +>map : (items: readonly A[], f: (a: NoInfer) => B) => B[] +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^^^^ +>items : readonly A[] +> : ^^^^^^^^^^^^ +>f : (a: NoInfer) => B +> : ^ ^^ ^^^^^ +>a : NoInfer +> : ^^^^^^^^^^ + + return items.map(f); +>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, (_) => +>something : ({ result: TaggedA; } | null)[] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map(m, (_) => _.result._tag === "a" ? { ..._, result: _.result } : null,) : ({ result: TaggedA; } | null)[] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>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 +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>_.result._tag === "a" : boolean +> : ^^^^^^^ +>_.result._tag : "a" | "b" +> : ^^^^^^^^^ +>_.result : TaggedUnion +> : ^^^^^^^^^^^ +>_ : { result: NoInfer; } +> : ^^^^^^^^^^ ^^^ +>result : TaggedUnion +> : ^^^^^^^^^^^ +>_tag : "a" | "b" +> : ^^^^^^^^^ +>"a" : "a" +> : ^^^ +>{ ..._, result: _.result } : { result: TaggedA; } +> : ^^^^^^^^^^^^^^^^^^^^ +>_ : { result: NoInfer; } +> : ^^^^^^^^^^ ^^^ +>result : TaggedA +> : ^^^^^^^ +>_.result : TaggedA +> : ^^^^^^^ +>_ : { result: NoInfer; } +> : ^^^^^^^^^^ ^^^ +>result : TaggedA +> : ^^^^^^^ + +); + +declare function test2(a: T1, b: T2, cb: (thing: NoInfer | NoInfer) => void): void; +>test2 : (a: T1, b: T2, cb: (thing: NoInfer | NoInfer) => void) => void +> : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +>a : T1 +> : ^^ +>b : T2 +> : ^^ +>cb : (thing: NoInfer | NoInfer) => void +> : ^ ^^ ^^^^^ +>thing : NoInfer | NoInfer +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ + +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" +> : ^^^ +>'a' as const : "a" +> : ^^^ +>'a' : "a" +> : ^^^ +>{ type: 'b' as const } : { type: "b"; } +> : ^^^^^^^^^^^^^^ +>type : "b" +> : ^^^ +>'b' as const : "b" +> : ^^^ +>'b' : "b" +> : ^^^ +>(thing) => { if (thing.type === "a") { thing; } else { thing; }} : (thing: NoInfer<{ type: "a"; }> | NoInfer<{ type: "b"; }>) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>thing : NoInfer<{ type: "a"; }> | NoInfer<{ type: "b"; }> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + if (thing.type === "a") { +>thing.type === "a" : boolean +> : ^^^^^^^ +>thing.type : "a" | "b" +> : ^^^^^^^^^ +>thing : NoInfer<{ type: "a"; }> | NoInfer<{ type: "b"; }> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>type : "a" | "b" +> : ^^^^^^^^^ +>"a" : "a" +> : ^^^ + + thing; +>thing : NoInfer<{ type: "a"; }> +> : ^^^^^^^^^^^^^^^^^^^^^^^ + + } else { + thing; +>thing : NoInfer<{ type: "b"; }> +> : ^^^^^^^^^^^^^^^^^^^^^^^ + } +}); + 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 5c33a4fa725de..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 @@ -460,12 +460,12 @@ class OkClass { > : ^ return this._value; // ok ->this._value : NoInfer -> : ^^^^^^^^^^ +>this._value : T +> : ^ >this : this > : ^^^^ ->_value : NoInfer -> : ^^^^^^^^^^ +>_value : T +> : ^ } } class OkClass2 { 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..2b6c0f0ca409f 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..37ae427a5985e 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 > : ^ @@ -61,11 +61,11 @@ export class Foo extends Parent> { >this.getData() : Data> > : ^^^^^^^^^^^^^^ >this.getData : () => Data> -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ >this : this > : ^^^^ >getData : () => Data> -> : ^^^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ ^^^^^^^^ >get : (prop: K) => IData[K] > : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ >'content' : "content" @@ -91,11 +91,11 @@ export class Bar> extends Parent { >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..0ff301c695b54 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