diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 2fcae13aa779f..ae238b633d5e4 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -46,7 +46,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v3.26.0 + uses: github/codeql-action/init@429e1977040da7a23b6822b13c129cd1ba93dbb2 # v3.26.2 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@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v3.26.0 + uses: github/codeql-action/autobuild@429e1977040da7a23b6822b13c129cd1ba93dbb2 # v3.26.2 # ℹ️ 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@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v3.26.0 + uses: github/codeql-action/analyze@429e1977040da7a23b6822b13c129cd1ba93dbb2 # v3.26.2 diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index d4ca0e23c19d1..8dca835f7bd40 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -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@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v3.26.0 + uses: github/codeql-action/upload-sarif@429e1977040da7a23b6822b13c129cd1ba93dbb2 # v3.26.2 with: sarif_file: results.sarif diff --git a/Herebyfile.mjs b/Herebyfile.mjs index 7939e5eafbd9e..2fb6b02a33ffe 100644 --- a/Herebyfile.mjs +++ b/Herebyfile.mjs @@ -607,7 +607,7 @@ export const generateTypesMap = task({ const target = "built/local/typesMap.json"; const contents = await fs.promises.readFile(source, "utf-8"); JSON.parse(contents); // Validates that the JSON parses. - await fs.promises.writeFile(target, contents); + await fs.promises.writeFile(target, contents.replace(/\r\n/g, "\n")); }, }); diff --git a/package-lock.json b/package-lock.json index baeb2565e5f66..76730483c5578 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "typescript", - "version": "5.6.0", + "version": "5.7.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "typescript", - "version": "5.6.0", + "version": "5.7.0", "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", diff --git a/package.json b/package.json index 2528f6b59b353..8623e78d53378 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "typescript", "author": "Microsoft Corp.", "homepage": "https://www.typescriptlang.org/", - "version": "5.6.0", + "version": "5.7.0", "license": "Apache-2.0", "description": "TypeScript is a language for application scale JavaScript development", "keywords": [ diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 96c6e08f0f5ac..1666c90883e80 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -154,7 +154,6 @@ import { isEmptyObjectLiteral, isEntityNameExpression, isEnumConst, - isEnumDeclaration, isExportAssignment, isExportDeclaration, isExportsIdentifier, @@ -3789,7 +3788,9 @@ function createBinder(): (file: SourceFile, options: CompilerOptions) => void { (isStatementButNotDeclaration(node) && node.kind !== SyntaxKind.EmptyStatement) || // report error on class declarations node.kind === SyntaxKind.ClassDeclaration || - // report error on instantiated modules or const-enums only modules if preserveConstEnums is set + // report errors on enums with preserved emit + isEnumDeclarationWithPreservedEmit(node, options) || + // report error on instantiated modules (node.kind === SyntaxKind.ModuleDeclaration && shouldReportErrorOnModuleDeclaration(node as ModuleDeclaration)); if (reportError) { @@ -3813,7 +3814,7 @@ function createBinder(): (file: SourceFile, options: CompilerOptions) => void { node.declarationList.declarations.some(d => !!d.initializer) ); - eachUnreachableRange(node, (start, end) => errorOrSuggestionOnRange(isError, start, end, Diagnostics.Unreachable_code_detected)); + eachUnreachableRange(node, options, (start, end) => errorOrSuggestionOnRange(isError, start, end, Diagnostics.Unreachable_code_detected)); } } } @@ -3821,7 +3822,11 @@ function createBinder(): (file: SourceFile, options: CompilerOptions) => void { } } -function eachUnreachableRange(node: Node, cb: (start: Node, last: Node) => void): void { +function isEnumDeclarationWithPreservedEmit(node: Node, options: CompilerOptions): boolean { + return node.kind === SyntaxKind.EnumDeclaration && (!isEnumConst(node as EnumDeclaration) || shouldPreserveConstEnums(options)); +} + +function eachUnreachableRange(node: Node, options: CompilerOptions, cb: (start: Node, last: Node) => void): void { if (isStatement(node) && isExecutableStatement(node) && isBlock(node.parent)) { const { statements } = node.parent; const slice = sliceAfter(statements, node); @@ -3830,26 +3835,27 @@ function eachUnreachableRange(node: Node, cb: (start: Node, last: Node) => void) else { cb(node, node); } -} -// As opposed to a pure declaration like an `interface` -function isExecutableStatement(s: Statement): boolean { - // Don't remove statements that can validly be used before they appear. - return !isFunctionDeclaration(s) && !isPurelyTypeDeclaration(s) && !isEnumDeclaration(s) && - // `var x;` may declare a variable used above - !(isVariableStatement(s) && !(getCombinedNodeFlags(s) & (NodeFlags.BlockScoped)) && s.declarationList.declarations.some(d => !d.initializer)); -} -function isPurelyTypeDeclaration(s: Statement): boolean { - switch (s.kind) { - case SyntaxKind.InterfaceDeclaration: - case SyntaxKind.TypeAliasDeclaration: - return true; - case SyntaxKind.ModuleDeclaration: - return getModuleInstanceState(s as ModuleDeclaration) !== ModuleInstanceState.Instantiated; - case SyntaxKind.EnumDeclaration: - return hasSyntacticModifier(s, ModifierFlags.Const); - default: - return false; + // As opposed to a pure declaration like an `interface` + function isExecutableStatement(s: Statement): boolean { + // Don't remove statements that can validly be used before they appear. + return !isFunctionDeclaration(s) && !isPurelyTypeDeclaration(s) && + // `var x;` may declare a variable used above + !(isVariableStatement(s) && !(getCombinedNodeFlags(s) & (NodeFlags.BlockScoped)) && s.declarationList.declarations.some(d => !d.initializer)); + } + + function isPurelyTypeDeclaration(s: Statement): boolean { + switch (s.kind) { + case SyntaxKind.InterfaceDeclaration: + case SyntaxKind.TypeAliasDeclaration: + return true; + case SyntaxKind.ModuleDeclaration: + return getModuleInstanceState(s as ModuleDeclaration) !== ModuleInstanceState.Instantiated; + case SyntaxKind.EnumDeclaration: + return !isEnumDeclarationWithPreservedEmit(s, options); + default: + return false; + } } } diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 1673c6c032716..321e12c4d2a5e 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2683,7 +2683,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } if (source.exports) { if (!target.exports) target.exports = createSymbolTable(); - mergeSymbolTable(target.exports, source.exports, unidirectional); + mergeSymbolTable(target.exports, source.exports, unidirectional, target); } if (!unidirectional) { recordMergedSymbol(target, source); @@ -2772,10 +2772,29 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return combined; } - function mergeSymbolTable(target: SymbolTable, source: SymbolTable, unidirectional = false) { + function mergeSymbolTable(target: SymbolTable, source: SymbolTable, unidirectional = false, mergedParent?: Symbol) { source.forEach((sourceSymbol, id) => { const targetSymbol = target.get(id); - target.set(id, targetSymbol ? mergeSymbol(targetSymbol, sourceSymbol, unidirectional) : getMergedSymbol(sourceSymbol)); + const merged = targetSymbol ? mergeSymbol(targetSymbol, sourceSymbol, unidirectional) : getMergedSymbol(sourceSymbol); + if (mergedParent && targetSymbol) { + // If a merge was performed on the target symbol, set its parent to the merged parent that initiated the merge + // of its exports. Otherwise, `merged` came only from `sourceSymbol` and can keep its parent: + // + // // a.ts + // export interface A { x: number; } + // + // // b.ts + // declare module "./a" { + // interface A { y: number; } + // interface B {} + // } + // + // When merging the module augmentation into a.ts, the symbol for `A` will itself be merged, so its parent + // should be the merged module symbol. But the symbol for `B` has only one declaration, so its parent should + // be the module augmentation symbol, which contains its only declaration. + merged.parent = mergedParent; + } + target.set(id, merged); }); } @@ -6063,10 +6082,19 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (!location) { return range; } - if (!context.enclosingFile || context.enclosingFile !== getSourceFileOfNode(getOriginalNode(location))) { - return setOriginalNode(range, location); // if `location` is from another file, only set/update original pointer, and not positions, since copying text across files isn't supported by the emitter + // Don't overwrite the original node if `range` has an `original` node that points either directly or indirectly to `location` + let original = range.original; + while (original && original !== location) { + original = original.original; + } + if (!original) { + setOriginalNode(range, location); + } + // only set positions if range comes from the same file since copying text across files isn't supported by the emitter + if (context.enclosingFile && context.enclosingFile === getSourceFileOfNode(getOriginalNode(location))) { + return setTextRangeWorker(range, location); } - return setTextRangeWorker(setOriginalNode(range, location), location); + return range; } /** @@ -31644,33 +31672,106 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return !!(getCheckFlags(symbol) & CheckFlags.Mapped && !(symbol as MappedSymbol).links.type && findResolutionCycleStartIndex(symbol, TypeSystemPropertyName.Type) >= 0); } + function isExcludedMappedPropertyName(constraint: Type, propertyNameType: Type): boolean { + if (constraint.flags & TypeFlags.Conditional) { + const type = constraint as ConditionalType; + return !!(getReducedType(getTrueTypeFromConditionalType(type)).flags & TypeFlags.Never) && + getActualTypeVariable(getFalseTypeFromConditionalType(type)) === getActualTypeVariable(type.checkType) && + isTypeAssignableTo(propertyNameType, type.extendsType); + } + if (constraint.flags & TypeFlags.Intersection) { + return some((constraint as IntersectionType).types, t => isExcludedMappedPropertyName(t, propertyNameType)); + } + return false; + } + function getTypeOfPropertyOfContextualType(type: Type, name: __String, nameType?: Type) { return mapType(type, t => { - if (isGenericMappedType(t) && getMappedTypeNameTypeKind(t) !== MappedTypeNameTypeKind.Remapping) { - const constraint = getConstraintTypeFromMappedType(t); - const constraintOfConstraint = getBaseConstraintOfType(constraint) || constraint; - const propertyNameType = nameType || getStringLiteralType(unescapeLeadingUnderscores(name)); - if (isTypeAssignableTo(propertyNameType, constraintOfConstraint)) { - return substituteIndexedMappedType(t, propertyNameType); - } - } - else if (t.flags & TypeFlags.StructuredType) { - const prop = getPropertyOfType(t, name); - if (prop) { - return isCircularMappedProperty(prop) ? undefined : removeMissingType(getTypeOfSymbol(prop), !!(prop.flags & SymbolFlags.Optional)); + if (t.flags & TypeFlags.Intersection) { + let types: Type[] | undefined; + let indexInfoCandidates: Type[] | undefined; + let ignoreIndexInfos = false; + for (const constituentType of (t as IntersectionType).types) { + if (!(constituentType.flags & TypeFlags.Object)) { + continue; + } + if (isGenericMappedType(constituentType) && getMappedTypeNameTypeKind(constituentType) !== MappedTypeNameTypeKind.Remapping) { + const substitutedType = getIndexedMappedTypeSubstitutedTypeOfContextualType(constituentType, name, nameType); + types = appendContextualPropertyTypeConstituent(types, substitutedType); + continue; + } + const propertyType = getTypeOfConcretePropertyOfContextualType(constituentType, name); + if (!propertyType) { + if (!ignoreIndexInfos) { + indexInfoCandidates = append(indexInfoCandidates, constituentType); + } + continue; + } + ignoreIndexInfos = true; + indexInfoCandidates = undefined; + types = appendContextualPropertyTypeConstituent(types, propertyType); } - if (isTupleType(t) && isNumericLiteralName(name) && +name >= 0) { - const restType = getElementTypeOfSliceOfTupleType(t, t.target.fixedLength, /*endSkipCount*/ 0, /*writing*/ false, /*noReductions*/ true); - if (restType) { - return restType; + if (indexInfoCandidates) { + for (const candidate of indexInfoCandidates) { + const indexInfoType = getTypeFromIndexInfosOfContextualType(candidate, name, nameType); + types = appendContextualPropertyTypeConstituent(types, indexInfoType); } } - return findApplicableIndexInfo(getIndexInfosOfStructuredType(t), nameType || getStringLiteralType(unescapeLeadingUnderscores(name)))?.type; + if (!types) { + return; + } + if (types.length === 1) { + return types[0]; + } + return getIntersectionType(types); } - return undefined; + if (!(t.flags & TypeFlags.Object)) { + return; + } + return isGenericMappedType(t) && getMappedTypeNameTypeKind(t) !== MappedTypeNameTypeKind.Remapping + ? getIndexedMappedTypeSubstitutedTypeOfContextualType(t, name, nameType) + : getTypeOfConcretePropertyOfContextualType(t, name) ?? getTypeFromIndexInfosOfContextualType(t, name, nameType); }, /*noReductions*/ true); } + function appendContextualPropertyTypeConstituent(types: Type[] | undefined, type: Type | undefined) { + // any doesn't provide any contextual information but could spoil the overall result by nullifying contextual information provided by other intersection constituents + // so it gets replaced with `unknown` as `T & unknown` is just `T` and all types computed based on the contextual information provided by other constituens are still assignable to any + return type ? append(types, type.flags & TypeFlags.Any ? unknownType : type) : types; + } + + function getIndexedMappedTypeSubstitutedTypeOfContextualType(type: MappedType, name: __String, nameType: Type | undefined) { + const propertyNameType = nameType || getStringLiteralType(unescapeLeadingUnderscores(name)); + const constraint = getConstraintTypeFromMappedType(type); + // special case for conditional types pretending to be negated types + if (type.nameType && isExcludedMappedPropertyName(type.nameType, propertyNameType) || isExcludedMappedPropertyName(constraint, propertyNameType)) { + return; + } + const constraintOfConstraint = getBaseConstraintOfType(constraint) || constraint; + if (!isTypeAssignableTo(propertyNameType, constraintOfConstraint)) { + return; + } + return substituteIndexedMappedType(type, propertyNameType); + } + + function getTypeOfConcretePropertyOfContextualType(type: Type, name: __String) { + const prop = getPropertyOfType(type, name); + if (!prop || isCircularMappedProperty(prop)) { + return; + } + return removeMissingType(getTypeOfSymbol(prop), !!(prop.flags & SymbolFlags.Optional)); + } + + function getTypeFromIndexInfosOfContextualType(type: Type, name: __String, nameType: Type | undefined) { + if (isTupleType(type) && isNumericLiteralName(name) && +name >= 0) { + const restType = getElementTypeOfSliceOfTupleType(type, type.target.fixedLength, /*endSkipCount*/ 0, /*writing*/ false, /*noReductions*/ true); + if (restType) { + return restType; + } + } + return findApplicableIndexInfo(getIndexInfosOfStructuredType(type), nameType || getStringLiteralType(unescapeLeadingUnderscores(name)))?.type; + } + // In an object literal contextually typed by a type T, the contextual type of a property assignment is the type of // the matching property in T, if one exists. Otherwise, it is the type of the numeric index signature in T, if one // exists. Otherwise, it is the type of the string index signature in T, if one exists. @@ -38348,7 +38449,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const globalGeneratorType = resolver.getGlobalGeneratorType(/*reportErrors*/ false); yieldType = resolver.resolveIterationType(yieldType, /*errorNode*/ undefined) || unknownType; returnType = resolver.resolveIterationType(returnType, /*errorNode*/ undefined) || unknownType; - nextType = resolver.resolveIterationType(nextType, /*errorNode*/ undefined) || unknownType; if (globalGeneratorType === emptyGenericType) { // Fall back to the global IterableIterator type. const globalIterableIteratorType = resolver.getGlobalIterableIteratorType(/*reportErrors*/ false); @@ -40259,9 +40359,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const iterationTypes = returnType && getIterationTypesOfGeneratorFunctionReturnType(returnType, isAsync); const signatureYieldType = iterationTypes && iterationTypes.yieldType || anyType; const signatureNextType = iterationTypes && iterationTypes.nextType || anyType; - const resolvedSignatureNextType = isAsync ? getAwaitedType(signatureNextType) || anyType : signatureNextType; const yieldExpressionType = node.expression ? checkExpression(node.expression) : undefinedWideningType; - const yieldedType = getYieldedTypeOfYieldExpression(node, yieldExpressionType, resolvedSignatureNextType, isAsync); + const yieldedType = getYieldedTypeOfYieldExpression(node, yieldExpressionType, signatureNextType, isAsync); if (returnType && yieldedType) { checkTypeAssignableToAndOptionallyElaborate(yieldedType, signatureYieldType, node.expression || node, node.expression); } diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 86bb598c2a8df..9797d9f96cc66 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -437,7 +437,6 @@ export const commonOptionsWithBuild: CommandLineOption[] = [ name: "generateTrace", type: "string", isFilePath: true, - isCommandLineOnly: true, paramType: Diagnostics.DIRECTORY, category: Diagnostics.Compiler_Diagnostics, description: Diagnostics.Generates_an_event_trace_and_a_list_of_types, @@ -1697,6 +1696,13 @@ export const optionsForBuild: CommandLineOption[] = [ type: "boolean", defaultValueDescription: false, }, + { + name: "stopBuildOnErrors", + category: Diagnostics.Command_line_Options, + description: Diagnostics.Skip_building_downstream_projects_on_error_in_upstream_project, + type: "boolean", + defaultValueDescription: false, + }, ]; /** @internal */ diff --git a/src/compiler/corePublic.ts b/src/compiler/corePublic.ts index ed4b500aaec63..2693eb0e1eb28 100644 --- a/src/compiler/corePublic.ts +++ b/src/compiler/corePublic.ts @@ -1,6 +1,6 @@ // WARNING: The script `configurePrerelease.ts` uses a regexp to parse out these values. // If changing the text in this section, be sure to test `configurePrerelease` too. -export const versionMajorMinor = "5.6"; +export const versionMajorMinor = "5.7"; // The following is baselined as a literal template type without intervention /** The version of the TypeScript compiler release */ export const version: string = `${versionMajorMinor}.0-dev`; diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 36213fbc314e8..01cb974bc1242 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -5716,6 +5716,14 @@ "category": "Message", "code": 6361 }, + "Skipping build of project '{0}' because its dependency '{1}' has errors": { + "category": "Message", + "code": 6362 + }, + "Project '{0}' can't be built because its dependency '{1}' has errors": { + "category": "Message", + "code": 6363 + }, "Build one or more projects and their dependencies, if out of date": { "category": "Message", "code": 6364 @@ -5760,6 +5768,14 @@ "category": "Message", "code": 6381 }, + "Skipping build of project '{0}' because its dependency '{1}' was not built": { + "category": "Message", + "code": 6382 + }, + "Project '{0}' can't be built because its dependency '{1}' was not built": { + "category": "Message", + "code": 6383 + }, "Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it.": { "category": "Message", "code": 6384 @@ -6095,6 +6111,10 @@ "category": "Message", "code": 6639 }, + "Skip building downstream projects on error in upstream project.": { + "category": "Message", + "code": 6640 + }, "Specify a list of glob patterns that match files to be included in compilation.": { "category": "Message", "code": 6641 diff --git a/src/compiler/tsbuild.ts b/src/compiler/tsbuild.ts index abb6c83e30978..74ec7be532261 100644 --- a/src/compiler/tsbuild.ts +++ b/src/compiler/tsbuild.ts @@ -25,6 +25,7 @@ export enum UpToDateStatusType { OutOfDateOptions, OutOfDateRoots, UpstreamOutOfDate, + UpstreamBlocked, ComputingUpstream, TsVersionOutputOfDate, UpToDateWithInputFileText, @@ -47,6 +48,7 @@ export type UpToDateStatus = | Status.OutOfDateBuildInfo | Status.OutOfDateRoots | Status.UpstreamOutOfDate + | Status.UpstreamBlocked | Status.ComputingUpstream | Status.TsVersionOutOfDate | Status.ContainerOnly @@ -135,6 +137,15 @@ export namespace Status { upstreamProjectName: string; } + /** + * This project depends an upstream project with build errors + */ + export interface UpstreamBlocked { + type: UpToDateStatusType.UpstreamBlocked; + upstreamProjectName: string; + upstreamProjectBlocked: boolean; + } + /** * Computing status of upstream projects referenced */ diff --git a/src/compiler/tsbuildPublic.ts b/src/compiler/tsbuildPublic.ts index 7b9b398cf2d0a..3230699eba3c0 100644 --- a/src/compiler/tsbuildPublic.ts +++ b/src/compiler/tsbuildPublic.ts @@ -135,6 +135,7 @@ export interface BuildOptions { dry?: boolean; force?: boolean; verbose?: boolean; + stopBuildOnErrors?: boolean; /** @internal */ clean?: boolean; /** @internal */ watch?: boolean; @@ -1254,6 +1255,23 @@ function getNextInvalidatedProjectCreateInfo( } } + if (status.type === UpToDateStatusType.UpstreamBlocked) { + verboseReportProjectStatus(state, project, status); + reportAndStoreErrors(state, projectPath, getConfigFileParsingDiagnostics(config)); + projectPendingBuild.delete(projectPath); + if (options.verbose) { + reportStatus( + state, + status.upstreamProjectBlocked ? + Diagnostics.Skipping_build_of_project_0_because_its_dependency_1_was_not_built : + Diagnostics.Skipping_build_of_project_0_because_its_dependency_1_has_errors, + project, + status.upstreamProjectName, + ); + } + continue; + } + if (status.type === UpToDateStatusType.ContainerOnly) { verboseReportProjectStatus(state, project, status); reportAndStoreErrors(state, projectPath, getConfigFileParsingDiagnostics(config)); @@ -1455,6 +1473,20 @@ function getUpToDateStatusWorker(state: SolutionBuilde continue; } + // An upstream project is blocked + if ( + state.options.stopBuildOnErrors && ( + refStatus.type === UpToDateStatusType.Unbuildable || + refStatus.type === UpToDateStatusType.UpstreamBlocked + ) + ) { + return { + type: UpToDateStatusType.UpstreamBlocked, + upstreamProjectName: ref.path, + upstreamProjectBlocked: refStatus.type === UpToDateStatusType.UpstreamBlocked, + }; + } + if (!force) (referenceStatuses ||= []).push({ ref, refStatus, resolvedRefPath, resolvedConfig }); } } @@ -1848,6 +1880,8 @@ function queueReferencingProjects( buildOrder: readonly ResolvedConfigFileName[], buildResult: BuildResultFlags, ) { + // Queue only if there are no errors + if (state.options.stopBuildOnErrors && (buildResult & BuildResultFlags.AnyErrors)) return; // Only composite projects can be referenced by other projects if (!config.options.composite) return; // Always use build order to queue projects @@ -1883,6 +1917,12 @@ function queueReferencingProjects( }); } break; + + case UpToDateStatusType.UpstreamBlocked: + if (toResolvedConfigFilePath(state, resolveProjectName(state, status.upstreamProjectName)) === projectPath) { + clearProjectStatus(state, nextProjectPath); + } + break; } } addProjToQueue(state, nextProjectPath, ProgramUpdateLevel.Update); @@ -2386,6 +2426,15 @@ function reportUpToDateStatus(state: SolutionBuilderSt relName(state, configFileName), relName(state, status.upstreamProjectName), ); + case UpToDateStatusType.UpstreamBlocked: + return reportStatus( + state, + status.upstreamProjectBlocked ? + Diagnostics.Project_0_can_t_be_built_because_its_dependency_1_was_not_built : + Diagnostics.Project_0_can_t_be_built_because_its_dependency_1_has_errors, + relName(state, configFileName), + relName(state, status.upstreamProjectName), + ); case UpToDateStatusType.Unbuildable: return reportStatus( state, diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 4f75397d59fef..5d83ba9004913 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -5051,7 +5051,26 @@ export interface TypeChecker { getWidenedLiteralType(type: Type): Type; /** @internal */ getPromisedTypeOfPromise(promise: Type, errorNode?: Node): Type | undefined; - /** @internal */ + /** + * Gets the "awaited type" of a type. + * + * If an expression has a Promise-like type, the "awaited type" of the expression is + * derived from the type of the first argument of the fulfillment callback for that + * Promise's `then` method. If the "awaited type" is itself a Promise-like, it is + * recursively unwrapped in the same manner until a non-promise type is found. + * + * If an expression does not have a Promise-like type, its "awaited type" is the type + * of the expression. + * + * If the resulting "awaited type" is a generic object type, then it is wrapped in + * an `Awaited`. + * + * In the event the "awaited type" circularly references itself, or is a non-Promise + * object-type with a callable `then()` method, an "awaited type" cannot be determined + * and the value `undefined` will be returned. + * + * This is used to reflect the runtime behavior of the `await` keyword. + */ getAwaitedType(type: Type): Type | undefined; /** @internal */ isEmptyAnonymousObjectType(type: Type): boolean; @@ -5461,7 +5480,7 @@ export const enum NodeBuilderFlags { AllowEmptyIndexInfoType = 1 << 21, // Errors (cont.) AllowNodeModulesRelativePaths = 1 << 26, - + IgnoreErrors = AllowThisInObjectLiteral | AllowQualifiedNameInPlaceOfIdentifier | AllowAnonymousIdentifier | AllowEmptyUnionOrIntersection | AllowEmptyTuple | AllowEmptyIndexInfoType | AllowNodeModulesRelativePaths, @@ -9855,6 +9874,7 @@ export interface ModulePath { export interface ResolvedModuleSpecifierInfo { kind: "node_modules" | "paths" | "redirect" | "relative" | "ambient" | undefined; modulePaths: readonly ModulePath[] | undefined; + packageName: string | undefined; moduleSpecifiers: readonly string[] | undefined; isBlockedByPackageJsonDependencies: boolean | undefined; } @@ -9868,7 +9888,7 @@ export interface ModuleSpecifierOptions { export interface ModuleSpecifierCache { get(fromFileName: Path, toFileName: Path, preferences: UserPreferences, options: ModuleSpecifierOptions): Readonly | undefined; 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; + setBlockedByPackageJsonDependencies(fromFileName: Path, toFileName: Path, preferences: UserPreferences, options: ModuleSpecifierOptions, packageName: string | undefined, isBlockedByPackageJsonDependencies: boolean): void; setModulePaths(fromFileName: Path, toFileName: Path, preferences: UserPreferences, options: ModuleSpecifierOptions, modulePaths: readonly ModulePath[]): void; clear(): void; count(): number; diff --git a/src/harness/evaluatorImpl.ts b/src/harness/evaluatorImpl.ts index 9fdeed5b6cdc7..706e613aa5dcc 100644 --- a/src/harness/evaluatorImpl.ts +++ b/src/harness/evaluatorImpl.ts @@ -10,7 +10,7 @@ const sourceFileJs = vpath.combine(vfs.srcFolder, "source.js"); // Define a custom "Symbol" constructor to attach missing built-in symbols without // modifying the global "Symbol" constructor -const FakeSymbol: SymbolConstructor = ((description?: string) => Symbol(description)) as any; +export const FakeSymbol: SymbolConstructor = ((description?: string) => Symbol(description)) as any; (FakeSymbol as any).prototype = Symbol.prototype; for (const key of Object.getOwnPropertyNames(Symbol)) { Object.defineProperty(FakeSymbol, key, Object.getOwnPropertyDescriptor(Symbol, key)!); diff --git a/src/harness/fourslashImpl.ts b/src/harness/fourslashImpl.ts index 33e0f84a7443c..1abdbe2f6bf68 100644 --- a/src/harness/fourslashImpl.ts +++ b/src/harness/fourslashImpl.ts @@ -1037,8 +1037,8 @@ export class TestState { if (ts.hasProperty(options, "defaultCommitCharacters")) { assert.deepEqual( - actualCompletions.defaultCommitCharacters?.sort(), - options.defaultCommitCharacters?.sort(), + actualCompletions.defaultCommitCharacters?.slice().sort(), + options.defaultCommitCharacters?.slice().sort(), "Expected 'defaultCommitCharacters' properties to match", ); } @@ -1191,8 +1191,8 @@ export class TestState { assert.equal(actual.sortText, expected.sortText || ts.Completions.SortText.LocationPriority, `At entry ${actual.name}: Expected 'sortText' properties to match`); if (ts.hasProperty(expected, "commitCharacters")) { assert.deepEqual( - actual.commitCharacters?.sort(), - expected.commitCharacters?.sort(), + actual.commitCharacters?.slice().sort(), + expected.commitCharacters?.slice().sort(), `At entry ${actual.name}: Expected 'commitCharacters' values to match`, ); } diff --git a/src/lib/esnext.disposable.d.ts b/src/lib/esnext.disposable.d.ts index 75a596a5502f8..0f1a00bfc83e2 100644 --- a/src/lib/esnext.disposable.d.ts +++ b/src/lib/esnext.disposable.d.ts @@ -1,4 +1,6 @@ /// +/// +/// interface SymbolConstructor { /** @@ -165,3 +167,9 @@ interface AsyncDisposableStackConstructor { readonly prototype: AsyncDisposableStack; } declare var AsyncDisposableStack: AsyncDisposableStackConstructor; + +interface IteratorObject extends Disposable { +} + +interface AsyncIteratorObject extends AsyncDisposable { +} diff --git a/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl index 231ee78aee92c..448ee387b895b 100644 --- a/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -606,6 +606,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl index 8c99492152309..5bf23fca03169 100644 --- a/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -606,6 +606,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl index 967590bbbd583..6ba67d48ffaa4 100644 --- a/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -615,6 +615,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl index b0db27f65c541..73406c7390c6a 100644 --- a/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -606,6 +606,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl index 0543040f6ca29..9ce7a3e0dd6d8 100644 --- a/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -615,6 +615,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl index b6a6f64441b67..4c8476e717a4b 100644 --- a/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -615,6 +615,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl index 4ce6abef8e886..7a9cd653ac6c3 100644 --- a/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -606,6 +606,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl index dbc2cb6a118fb..cdbb3d06f4333 100644 --- a/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -606,6 +606,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl index bfee618554c36..ad11df86a5fc9 100644 --- a/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -606,6 +606,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl index 67405dd05ae94..77870ba63d03c 100644 --- a/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -599,6 +599,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl index 02808e593a6bb..241162d83a949 100644 --- a/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -599,6 +599,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl index cfb83ab8fa43d..c23d259002690 100644 --- a/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -605,6 +605,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl index 74bbe6d22201f..0e08be0489ced 100644 --- a/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -599,6 +599,15 @@ + + + + + + + + + diff --git a/src/server/editorServices.ts b/src/server/editorServices.ts index acd3088ec250c..7cb1a2d116c4c 100644 --- a/src/server/editorServices.ts +++ b/src/server/editorServices.ts @@ -31,7 +31,6 @@ import { DocumentRegistry, DocumentRegistryBucketKeyWithMode, emptyOptions, - endsWith, ensureTrailingDirectorySeparator, equateStringsCaseInsensitive, equateStringsCaseSensitive, @@ -645,37 +644,10 @@ export interface ProjectServiceOptions { */ export type ConfigFileName = NormalizedPath | false; -/** - * Stores cached config file name for info as well as ancestor so is a map - * Key is false for Open ScriptInfo - * Key is NormalizedPath for Config file name - * @internal - */ -export type ConfigFileMapForOpenFile = Map; - -/** - * The cache for open script info will have - * ConfigFileName or false if ancestors are not looked up - * Map if ancestors are looked up - * @internal - */ -export type ConfigFileForOpenFile = ConfigFileName | ConfigFileMapForOpenFile; - /** 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) return undefined; - const configFileForOpenFile = cache.get(info.path); - if (configFileForOpenFile === undefined) return undefined; - if (!isAncestorConfigFileInfo(info)) { - return isString(configFileForOpenFile) || !configFileForOpenFile ? - configFileForOpenFile : // direct result - configFileForOpenFile.get(/*key*/ false); // Its a map, use false as the key for the info's config file name - } - else { - return configFileForOpenFile && !isString(configFileForOpenFile) ? // Map with fileName as key - configFileForOpenFile.get(info.fileName) : - undefined; // No result for the config file name - } +function getConfigFileNameFromCache(info: OpenScriptInfoOrClosedOrConfigFileInfo, cache: Map | undefined): ConfigFileName | undefined { + if (!cache || isAncestorConfigFileInfo(info)) return undefined; + return cache.get(info.path); } /** @internal */ @@ -690,7 +662,6 @@ export interface AncestorConfigFileInfo { /** path of open file so we can look at correct root */ path: Path; configFileInfo: true; - isForDefaultProject: boolean; } /** @internal */ export type OpenScriptInfoOrClosedFileInfo = ScriptInfo | OriginalFileInfo; @@ -739,8 +710,6 @@ function forEachAncestorProject( allowDeferredClosed: boolean | undefined, /** Used with ConfiguredProjectLoadKind.Reload to check if this project was already reloaded */ reloadedProjects: Set | undefined, - /** true means we are looking for solution, so we can stop if found project is not composite to go into parent solution */ - searchOnlyPotentialSolution: boolean, /** Used with ConfiguredProjectLoadKind.Reload to specify delay reload, and also a set of configured projects already marked for delay load */ delayReloadedConfiguredProjects?: Set, ): T | undefined { @@ -750,10 +719,7 @@ function forEachAncestorProject( if ( !project.isInitialLoadPending() && ( - (searchOnlyPotentialSolution && !project.getCompilerOptions().composite) || - // Currently disableSolutionSearching is shared for finding solution/project when - // - loading solution for find all references - // - trying to find default project + !project.getCompilerOptions().composite || project.getCompilerOptions().disableSolutionSearching ) ) return; @@ -763,7 +729,6 @@ function forEachAncestorProject( fileName: project.getConfigFilePath(), path: info.path, configFileInfo: true, - isForDefaultProject: !searchOnlyPotentialSolution, }, kind === ConfiguredProjectLoadKind.Find); if (!configFileName) return; @@ -773,9 +738,9 @@ function forEachAncestorProject( kind, reason, allowDeferredClosed, - !searchOnlyPotentialSolution ? info.fileName : undefined, // Config Diag event for project if its for default project + /*triggerFile*/ undefined, reloadedProjects, - searchOnlyPotentialSolution, // Delay load if we are searching for solution + /*delayLoad*/ true, delayReloadedConfiguredProjects, ); if (!ancestor) return; @@ -1241,7 +1206,7 @@ export class ProjectService { */ readonly openFiles: Map = new Map(); /** Config files looked up and cached config files for open script info */ - private readonly configFileForOpenFiles = new Map(); + private readonly configFileForOpenFiles = new Map(); /** Set of open script infos that are root of inferred project */ private rootOfInferredProjects = new Set(); /** @@ -1280,7 +1245,7 @@ export class ProjectService { * 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; + private pendingOpenFileProjectUpdates?: Map; /** @internal */ pendingEnsureProjectForOpenFiles = false; @@ -2290,7 +2255,7 @@ export class ProjectService { const configFileExistenceInfo = this.configFileExistenceInfoCache.get(canonicalConfigFilePath); let openFilesImpactedByConfigFile: Set | undefined; - if (this.openFiles.has(info.path) && (!isAncestorConfigFileInfo(info) || info.isForDefaultProject)) { + 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 (configFileExistenceInfo) (configFileExistenceInfo.openFilesImpactedByConfigFile ??= new Set()).add(info.path); @@ -2483,39 +2448,31 @@ export class ProjectService { // If projectRootPath doesn't contain info.path, then do normal search for config file const anySearchPathOk = !projectRootPath || !isSearchPathInProjectRoot(); - - let searchTsconfig = true; - let searchJsconfig = true; - if (isAncestorConfigFileInfo(info)) { - // For ancestor of config file always ignore itself - if (endsWith(info.fileName, "tsconfig.json")) searchTsconfig = false; - else searchTsconfig = searchJsconfig = false; - } + // For ancestor of config file always ignore its own directory since its going to result in itself + let searchInDirectory = !isAncestorConfigFileInfo(info); do { - const canonicalSearchPath = normalizedPathToPath(searchPath, this.currentDirectory, this.toCanonicalFileName); - if (searchTsconfig) { + if (searchInDirectory) { + const canonicalSearchPath = normalizedPathToPath(searchPath, this.currentDirectory, this.toCanonicalFileName); const tsconfigFileName = asNormalizedPath(combinePaths(searchPath, "tsconfig.json")); - const result = action(combinePaths(canonicalSearchPath, "tsconfig.json") as NormalizedPath, tsconfigFileName); + let result = action(combinePaths(canonicalSearchPath, "tsconfig.json") as NormalizedPath, tsconfigFileName); if (result) return tsconfigFileName; - } - if (searchJsconfig) { const jsconfigFileName = asNormalizedPath(combinePaths(searchPath, "jsconfig.json")); - const result = action(combinePaths(canonicalSearchPath, "jsconfig.json") as NormalizedPath, jsconfigFileName); + result = action(combinePaths(canonicalSearchPath, "jsconfig.json") as NormalizedPath, jsconfigFileName); if (result) return jsconfigFileName; - } - // If we started within node_modules, don't look outside node_modules. - // Otherwise, we might pick up a very large project and pull in the world, - // causing an editor delay. - if (isNodeModulesDirectory(canonicalSearchPath)) { - break; + // If we started within node_modules, don't look outside node_modules. + // Otherwise, we might pick up a very large project and pull in the world, + // causing an editor delay. + if (isNodeModulesDirectory(canonicalSearchPath)) { + break; + } } const parentPath = asNormalizedPath(getDirectoryPath(searchPath)); if (parentPath === searchPath) break; searchPath = parentPath; - searchTsconfig = searchJsconfig = true; + searchInDirectory = true; } while (anySearchPathOk || isSearchPathInProjectRoot()); @@ -2550,24 +2507,8 @@ export class ProjectService { configFileName: NormalizedPath | undefined, ) { if (!this.openFiles.has(info.path)) return; // Dont cache for closed script infos - const config = configFileName || false; - if (!isAncestorConfigFileInfo(info)) { - // Set value for open script info - this.configFileForOpenFiles.set(info.path, config); - } - else { - // Need to set value for ancestor in ConfigFileMapForOpenFile - let configFileForOpenFile = this.configFileForOpenFiles.get(info.path)!; - if (!configFileForOpenFile || isString(configFileForOpenFile)) { - // We have value for open script info in cache, make a map with that as false key and set new vlaue - this.configFileForOpenFiles.set( - info.path, - configFileForOpenFile = new Map().set(false, configFileForOpenFile), - ); - } - // Set value of for ancestor in the map - configFileForOpenFile.set(info.fileName, config); - } + if (isAncestorConfigFileInfo(info)) return; // Dont cache for ancestors + this.configFileForOpenFiles.set(info.path, configFileName || false); } /** @@ -4293,8 +4234,7 @@ export class ProjectService { function tryFindDefaultConfiguredProject(project: ConfiguredProject): ConfiguredProject | undefined { return isDefaultProject(project) ? defaultProject : - (tryFindDefaultConfiguredProjectFromReferences(project) ?? - tryFindDefaultConfiguredProjectFromAncestor(project)); + tryFindDefaultConfiguredProjectFromReferences(project); } function isDefaultProject(project: ConfiguredProject): ConfiguredProject | undefined { @@ -4324,19 +4264,6 @@ export class ProjectService { reloadedProjects, ); } - - function tryFindDefaultConfiguredProjectFromAncestor(project: ConfiguredProject) { - return forEachAncestorProject( // If not in referenced projects, try ancestors and its references - info, - project, - tryFindDefaultConfiguredProject, - kind, - `Creating possible configured project for ${info.fileName} to open`, - allowDeferredClosed, - reloadedProjects, - /*searchOnlyPotentialSolution*/ false, - ); - } } /** @@ -4381,7 +4308,6 @@ export class ProjectService { `Creating project possibly referencing default composite project ${defaultProject.getProjectName()} of open file ${info.fileName}`, allowDeferredClosed, reloadedProjects, - /*searchOnlyPotentialSolution*/ true, delayReloadedConfiguredProjects, ); } @@ -5033,7 +4959,7 @@ export class ProjectService { if (cleanupAfter) { this.cleanupConfiguredProjects( configuredProjects, - new Set(proj.projectFileName), + new Set([proj.projectFileName]), ); this.printProjects(); } diff --git a/src/server/moduleSpecifierCache.ts b/src/server/moduleSpecifierCache.ts index 73e1168afd2f6..96d8eb3bf43bc 100644 --- a/src/server/moduleSpecifierCache.ts +++ b/src/server/moduleSpecifierCache.ts @@ -28,7 +28,7 @@ export function createModuleSpecifierCache(host: ModuleSpecifierResolutionCacheH return cache.get(toFileName); }, set(fromFileName, toFileName, preferences, options, kind, modulePaths, moduleSpecifiers) { - ensureCache(fromFileName, preferences, options).set(toFileName, createInfo(kind, modulePaths, moduleSpecifiers, /*isBlockedByPackageJsonDependencies*/ false)); + ensureCache(fromFileName, preferences, options).set(toFileName, createInfo(kind, modulePaths, moduleSpecifiers, /*packageName*/ undefined, /*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,17 +58,18 @@ export function createModuleSpecifierCache(host: ModuleSpecifierResolutionCacheH info.modulePaths = modulePaths; } else { - cache.set(toFileName, createInfo(/*kind*/ undefined, modulePaths, /*moduleSpecifiers*/ undefined, /*isBlockedByPackageJsonDependencies*/ undefined)); + cache.set(toFileName, createInfo(/*kind*/ undefined, modulePaths, /*moduleSpecifiers*/ undefined, /*packageName*/ undefined, /*isBlockedByPackageJsonDependencies*/ undefined)); } }, - setBlockedByPackageJsonDependencies(fromFileName, toFileName, preferences, options, isBlockedByPackageJsonDependencies) { + setBlockedByPackageJsonDependencies(fromFileName, toFileName, preferences, options, packageName, isBlockedByPackageJsonDependencies) { const cache = ensureCache(fromFileName, preferences, options); const info = cache.get(toFileName); if (info) { info.isBlockedByPackageJsonDependencies = isBlockedByPackageJsonDependencies; + info.packageName = packageName; } else { - cache.set(toFileName, createInfo(/*kind*/ undefined, /*modulePaths*/ undefined, /*moduleSpecifiers*/ undefined, isBlockedByPackageJsonDependencies)); + cache.set(toFileName, createInfo(/*kind*/ undefined, /*modulePaths*/ undefined, /*moduleSpecifiers*/ undefined, packageName, isBlockedByPackageJsonDependencies)); } }, clear() { @@ -103,8 +104,9 @@ export function createModuleSpecifierCache(host: ModuleSpecifierResolutionCacheH kind: ResolvedModuleSpecifierInfo["kind"] | undefined, modulePaths: readonly ModulePath[] | undefined, moduleSpecifiers: readonly string[] | undefined, + packageName: string | undefined, isBlockedByPackageJsonDependencies: boolean | undefined, ): ResolvedModuleSpecifierInfo { - return { kind, modulePaths, moduleSpecifiers, isBlockedByPackageJsonDependencies }; + return { kind, modulePaths, moduleSpecifiers, packageName, isBlockedByPackageJsonDependencies }; } } diff --git a/src/services/codefixes/helpers.ts b/src/services/codefixes/helpers.ts index f4a29c3751d12..656f3dce112b7 100644 --- a/src/services/codefixes/helpers.ts +++ b/src/services/codefixes/helpers.ts @@ -301,6 +301,9 @@ export function addNewNodeForMemberSymbol( } for (const signature of signatures) { + if (signature.declaration && (signature.declaration.flags & NodeFlags.Ambient)) { + continue; + } // Ensure nodes are fresh so they can have different positions when going through formatting. outputMethod(quotePreference, signature, modifiers, createName(declarationName)); } diff --git a/src/services/codefixes/importFixes.ts b/src/services/codefixes/importFixes.ts index aa5efcee15861..9940c1794ed9c 100644 --- a/src/services/codefixes/importFixes.ts +++ b/src/services/codefixes/importFixes.ts @@ -35,6 +35,7 @@ import { ExportKind, ExportMapInfoKey, factory, + fileContainsPackageImport, findAncestor, first, firstDefined, @@ -1543,7 +1544,7 @@ function getExportInfos( const moduleSpecifierResolutionHost = getModuleSpecifierResolutionHost(isFromPackageJson); if ( toFile && isImportableFile(program, fromFile, toFile, preferences, packageJsonFilter, moduleSpecifierResolutionHost, moduleSpecifierCache) || - !toFile && packageJsonFilter.allowsImportingAmbientModule(moduleSymbol, moduleSpecifierResolutionHost) + (!toFile && packageJsonFilter.allowsImportingAmbientModule(moduleSymbol, moduleSpecifierResolutionHost) || fileContainsPackageImport(fromFile, stripQuotes(moduleSymbol.name))) ) { const checker = program.getTypeChecker(); originalSymbolToExportInfos.add(getUniqueSymbolId(exportedSymbol, checker).toString(), { symbol: exportedSymbol, moduleSymbol, moduleFileName: toFile?.fileName, exportKind, targetFlags: skipAlias(exportedSymbol, checker).flags, isFromPackageJson }); diff --git a/src/services/completions.ts b/src/services/completions.ts index 18fc3e8e5dd59..93693b13db6e0 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -7,6 +7,7 @@ import { BindingElement, BindingPattern, BreakOrContinueStatement, + CallExpression, CancellationToken, canHaveDecorators, canUsePropertyAccess, @@ -63,6 +64,7 @@ import { Expression, ExpressionWithTypeArguments, factory, + fileContainsPackageImport, filter, find, findAncestor, @@ -303,6 +305,7 @@ import { ModuleReference, NamedImportBindings, newCaseClauseTracker, + NewExpression, Node, NodeArray, NodeBuilderFlags, @@ -432,6 +435,12 @@ export const SortText = { }, }; +/** All commit characters, valid when `isNewIdentifierLocation` is false. */ +const allCommitCharacters = [".", ",", ";"]; + +/** Commit characters valid at expression positions where we could be inside a parameter list. */ +const noCommaCommitCharacters = [".", ";"]; + /** * Special values for `CompletionInfo['source']` used to disambiguate * completion items with the same `name`. (Each completion item must @@ -690,7 +699,7 @@ export function getDefaultCommitCharacters(isNewIdentifierLocation: boolean): st if (isNewIdentifierLocation) { return []; } - return [".", ",", ";"]; + return allCommitCharacters; } /** @internal */ @@ -1294,6 +1303,7 @@ function completionInfoFromData( insideJsDocTagTypeExpression, symbolToSortTextMap, hasUnresolvedAutoImports, + defaultCommitCharacters, } = completionData; let literals = completionData.literals; @@ -1412,7 +1422,7 @@ function completionInfoFromData( isNewIdentifierLocation, optionalReplacementSpan: getOptionalReplacementSpan(location), entries, - defaultCommitCharacters: getDefaultCommitCharacters(isNewIdentifierLocation), + defaultCommitCharacters: defaultCommitCharacters ?? getDefaultCommitCharacters(isNewIdentifierLocation), }; } @@ -3197,6 +3207,7 @@ interface CompletionData { readonly importStatementCompletion?: ImportStatementCompletionInfo; readonly hasUnresolvedAutoImports?: boolean; readonly flags: CompletionInfoFlags; + readonly defaultCommitCharacters: string[] | undefined; } type Request = | { readonly kind: CompletionDataKind.JsDocTagName | CompletionDataKind.JsDocTag; } @@ -3390,6 +3401,7 @@ function getCompletionData( let keywordFilters = KeywordCompletionFilters.None; let isNewIdentifierLocation = false; let flags = CompletionInfoFlags.None; + let defaultCommitCharacters: string[] | undefined; if (contextToken) { const importStatementCompletionInfo = getImportStatementCompletionInfo(contextToken, sourceFile); @@ -3416,7 +3428,7 @@ function getCompletionData( if (!importStatementCompletionInfo.replacementSpan && isCompletionListBlocker(contextToken)) { log("Returning an empty list because completion was requested in an invalid position."); return keywordFilters - ? keywordCompletionData(keywordFilters, isJsOnlyLocation, isNewIdentifierDefinitionLocation()) + ? keywordCompletionData(keywordFilters, isJsOnlyLocation, computeCommitCharactersAndIsNewIdentifier().isNewIdentifierLocation) : undefined; } @@ -3633,6 +3645,7 @@ function getCompletionData( importStatementCompletion, hasUnresolvedAutoImports, flags, + defaultCommitCharacters, }; type JSDocTagWithTypeExpression = @@ -3685,7 +3698,10 @@ function getCompletionData( const isRhsOfImportDeclaration = isInRightSideOfInternalImportEqualsDeclaration(node); if (isEntityName(node) || isImportType || isPropertyAccessExpression(node)) { const isNamespaceName = isModuleDeclaration(node.parent); - if (isNamespaceName) isNewIdentifierLocation = true; + if (isNamespaceName) { + isNewIdentifierLocation = true; + defaultCommitCharacters = []; + } let symbol = typeChecker.getSymbolAtLocation(node); if (symbol) { symbol = skipAlias(symbol, typeChecker); @@ -3767,9 +3783,13 @@ function getCompletionData( } function addTypeProperties(type: Type, insertAwait: boolean, insertQuestionDot: boolean): void { - isNewIdentifierLocation = !!type.getStringIndexType(); + if (type.getStringIndexType()) { + isNewIdentifierLocation = true; + defaultCommitCharacters = []; + } if (isRightOfQuestionDot && some(type.getCallSignatures())) { isNewIdentifierLocation = true; + defaultCommitCharacters ??= allCommitCharacters; // Only invalid commit character here would be `(`. } const propertyAccess = node.kind === SyntaxKind.ImportType ? node as ImportTypeNode : node.parent as PropertyAccessExpression | QualifiedName; @@ -3944,7 +3964,7 @@ function getCompletionData( // Get all entities in the current scope. completionKind = CompletionKind.Global; - isNewIdentifierLocation = isNewIdentifierDefinitionLocation(); + ({ isNewIdentifierLocation, defaultCommitCharacters } = computeCommitCharactersAndIsNewIdentifier()); if (previousToken !== contextToken) { Debug.assert(!!previousToken, "Expected 'contextToken' to be defined when different from 'previousToken'."); @@ -4207,9 +4227,8 @@ function getCompletionData( if (JsTyping.nodeCoreModules.has(moduleName) && startsWith(moduleName, "node:") !== shouldUseUriStyleNodeCoreModules(sourceFile, program)) { return false; } - return packageJsonFilter - ? packageJsonFilter.allowsImportingAmbientModule(info.moduleSymbol, getModuleSpecifierResolutionHost(info.isFromPackageJson)) - : true; + return (packageJsonFilter?.allowsImportingAmbientModule(info.moduleSymbol, getModuleSpecifierResolutionHost(info.isFromPackageJson)) ?? true) + || fileContainsPackageImport(sourceFile, moduleName); } return isImportableFile( info.isFromPackageJson ? packageJsonAutoImportProvider! : program, @@ -4344,7 +4363,7 @@ function getCompletionData( return false; } - function isNewIdentifierDefinitionLocation(): boolean { + function computeCommitCharactersAndIsNewIdentifier(): { defaultCommitCharacters: string[]; isNewIdentifierLocation: boolean; } { if (contextToken) { const containingNodeKind = contextToken.parent.kind; const tokenKind = keywordForNode(contextToken); @@ -4352,62 +4371,118 @@ function getCompletionData( // dprint-ignore switch (tokenKind) { case SyntaxKind.CommaToken: - return containingNodeKind === SyntaxKind.CallExpression // func( a, | - || containingNodeKind === SyntaxKind.Constructor // constructor( a, | /* public, protected, private keywords are allowed here, so show completion */ - || containingNodeKind === SyntaxKind.NewExpression // new C(a, | - || containingNodeKind === SyntaxKind.ArrayLiteralExpression // [a, | - || containingNodeKind === SyntaxKind.BinaryExpression // const x = (a, | - || containingNodeKind === SyntaxKind.FunctionType // var x: (s: string, list| - || containingNodeKind === SyntaxKind.ObjectLiteralExpression; // const obj = { x, | - + switch (containingNodeKind) { + case SyntaxKind.CallExpression: // func( a, | + case SyntaxKind.NewExpression: { // new C(a, | + const expression = (contextToken.parent as CallExpression | NewExpression).expression; + if (getLineAndCharacterOfPosition(sourceFile, expression.end).line !== + getLineAndCharacterOfPosition(sourceFile, position).line) { // func\n(a, | + return { defaultCommitCharacters: noCommaCommitCharacters, isNewIdentifierLocation: true }; + } + return { defaultCommitCharacters: allCommitCharacters, isNewIdentifierLocation: true }; + } + case SyntaxKind.BinaryExpression: // const x = (a, | + return { defaultCommitCharacters: noCommaCommitCharacters, isNewIdentifierLocation: true }; + case SyntaxKind.Constructor: // constructor( a, | /* public, protected, private keywords are allowed here, so show completion */ + case SyntaxKind.FunctionType: // var x: (s: string, list| + case SyntaxKind.ObjectLiteralExpression: // const obj = { x, | + return { defaultCommitCharacters: [], isNewIdentifierLocation: true }; + case SyntaxKind.ArrayLiteralExpression: // [a, | + return { defaultCommitCharacters: allCommitCharacters, isNewIdentifierLocation: true }; + default: + return { defaultCommitCharacters: allCommitCharacters, isNewIdentifierLocation: false }; + } case SyntaxKind.OpenParenToken: - return containingNodeKind === SyntaxKind.CallExpression // func( | - || containingNodeKind === SyntaxKind.Constructor // constructor( | - || containingNodeKind === SyntaxKind.NewExpression // new C(a| - || containingNodeKind === SyntaxKind.ParenthesizedExpression // const x = (a| - || containingNodeKind === SyntaxKind.ParenthesizedType; // function F(pred: (a| /* this can become an arrow function, where 'a' is the argument */ - + switch (containingNodeKind) { + case SyntaxKind.CallExpression: // func( | + case SyntaxKind.NewExpression: { // new C(a| + const expression = (contextToken.parent as CallExpression | NewExpression).expression; + if (getLineAndCharacterOfPosition(sourceFile, expression.end).line !== + getLineAndCharacterOfPosition(sourceFile, position).line) { // func\n( | + return { defaultCommitCharacters: noCommaCommitCharacters, isNewIdentifierLocation: true }; + } + return { defaultCommitCharacters: allCommitCharacters, isNewIdentifierLocation: true }; + } + case SyntaxKind.ParenthesizedExpression: // const x = (a| + return { defaultCommitCharacters: noCommaCommitCharacters, isNewIdentifierLocation: true }; + case SyntaxKind.Constructor: // constructor( | + case SyntaxKind.ParenthesizedType: // function F(pred: (a| /* this can become an arrow function, where 'a' is the argument */ + return { defaultCommitCharacters: [], isNewIdentifierLocation: true }; + default: + return { defaultCommitCharacters: allCommitCharacters, isNewIdentifierLocation: false }; + } case SyntaxKind.OpenBracketToken: - return containingNodeKind === SyntaxKind.ArrayLiteralExpression // [ | - || containingNodeKind === SyntaxKind.IndexSignature // [ | : string ] - || containingNodeKind === SyntaxKind.ComputedPropertyName; // [ | /* this can become an index signature */ + switch (containingNodeKind) { + case SyntaxKind.ArrayLiteralExpression: // [ | + case SyntaxKind.IndexSignature: // [ | : string ] + case SyntaxKind.TupleType: // [ | : string ] + case SyntaxKind.ComputedPropertyName: // [ | /* this can become an index signature */ + return { defaultCommitCharacters: allCommitCharacters, isNewIdentifierLocation: true }; + default: + return { defaultCommitCharacters: allCommitCharacters, isNewIdentifierLocation: false }; + } - case SyntaxKind.ModuleKeyword: // module | - case SyntaxKind.NamespaceKeyword: // namespace | - case SyntaxKind.ImportKeyword: // import | - return true; + case SyntaxKind.ModuleKeyword: // module | + case SyntaxKind.NamespaceKeyword: // namespace | + case SyntaxKind.ImportKeyword: // import | + return { defaultCommitCharacters: [], isNewIdentifierLocation: true }; case SyntaxKind.DotToken: - return containingNodeKind === SyntaxKind.ModuleDeclaration; // module A.| + switch (containingNodeKind) { + case SyntaxKind.ModuleDeclaration: // module A.| + return { defaultCommitCharacters: [], isNewIdentifierLocation: true }; + default: + return { defaultCommitCharacters: allCommitCharacters, isNewIdentifierLocation: false }; + } case SyntaxKind.OpenBraceToken: - return containingNodeKind === SyntaxKind.ClassDeclaration // class A { | - || containingNodeKind === SyntaxKind.ObjectLiteralExpression; // const obj = { | + switch (containingNodeKind) { + case SyntaxKind.ClassDeclaration: // class A { | + case SyntaxKind.ObjectLiteralExpression: // const obj = { | + return { defaultCommitCharacters: [], isNewIdentifierLocation: true }; + default: + return { defaultCommitCharacters: allCommitCharacters, isNewIdentifierLocation: false }; + } case SyntaxKind.EqualsToken: - return containingNodeKind === SyntaxKind.VariableDeclaration // const x = a| - || containingNodeKind === SyntaxKind.BinaryExpression; // x = a| + switch (containingNodeKind) { + case SyntaxKind.VariableDeclaration: // const x = a| + case SyntaxKind.BinaryExpression: // x = a| + return { defaultCommitCharacters: allCommitCharacters, isNewIdentifierLocation: true }; + default: + return { defaultCommitCharacters: allCommitCharacters, isNewIdentifierLocation: false }; + } case SyntaxKind.TemplateHead: - return containingNodeKind === SyntaxKind.TemplateExpression; // `aa ${| + return { + defaultCommitCharacters: allCommitCharacters, + isNewIdentifierLocation: containingNodeKind === SyntaxKind.TemplateExpression // `aa ${| + }; case SyntaxKind.TemplateMiddle: - return containingNodeKind === SyntaxKind.TemplateSpan; // `aa ${10} dd ${| + return { + defaultCommitCharacters: allCommitCharacters, + isNewIdentifierLocation: containingNodeKind === SyntaxKind.TemplateSpan // `aa ${10} dd ${| + }; case SyntaxKind.AsyncKeyword: - return containingNodeKind === SyntaxKind.MethodDeclaration // const obj = { async c|() - || containingNodeKind === SyntaxKind.ShorthandPropertyAssignment; // const obj = { async c| + return (containingNodeKind === SyntaxKind.MethodDeclaration // const obj = { async c|() + || containingNodeKind === SyntaxKind.ShorthandPropertyAssignment) // const obj = { async c| + ? { defaultCommitCharacters: [], isNewIdentifierLocation: true } + : { defaultCommitCharacters: allCommitCharacters, isNewIdentifierLocation: false }; case SyntaxKind.AsteriskToken: - return containingNodeKind === SyntaxKind.MethodDeclaration; // const obj = { * c| + return containingNodeKind === SyntaxKind.MethodDeclaration // const obj = { * c| + ? { defaultCommitCharacters: [], isNewIdentifierLocation: true } + : { defaultCommitCharacters: allCommitCharacters, isNewIdentifierLocation: false }; } if (isClassMemberCompletionKeyword(tokenKind)) { - return true; + return { defaultCommitCharacters: [], isNewIdentifierLocation: true }; } } - return false; + return { defaultCommitCharacters: allCommitCharacters, isNewIdentifierLocation: false }; } function isInStringOrRegularExpressionOrTemplateLiteral(contextToken: Node): boolean { diff --git a/src/services/exportInfoMap.ts b/src/services/exportInfoMap.ts index 4873d6eac42f0..e551b2c81a777 100644 --- a/src/services/exportInfoMap.ts +++ b/src/services/exportInfoMap.ts @@ -374,7 +374,7 @@ export function isImportableFile( if (from === to) return false; const cachedResult = moduleSpecifierCache?.get(from.path, to.path, preferences, {}); if (cachedResult?.isBlockedByPackageJsonDependencies !== undefined) { - return !cachedResult.isBlockedByPackageJsonDependencies; + return !cachedResult.isBlockedByPackageJsonDependencies || !!cachedResult.packageName && fileContainsPackageImport(from, cachedResult.packageName); } const getCanonicalFileName = hostGetCanonicalFileName(moduleSpecifierResolutionHost); @@ -394,14 +394,19 @@ export function isImportableFile( ); if (packageJsonFilter) { - const isAutoImportable = hasImportablePath && packageJsonFilter.allowsImportingSourceFile(to, moduleSpecifierResolutionHost); - moduleSpecifierCache?.setBlockedByPackageJsonDependencies(from.path, to.path, preferences, {}, !isAutoImportable); - return isAutoImportable; + const importInfo = hasImportablePath ? packageJsonFilter.getSourceFileInfo(to, moduleSpecifierResolutionHost) : undefined; + moduleSpecifierCache?.setBlockedByPackageJsonDependencies(from.path, to.path, preferences, {}, importInfo?.packageName, !importInfo?.importable); + return !!importInfo?.importable || !!importInfo?.packageName && fileContainsPackageImport(from, importInfo.packageName); } return hasImportablePath; } +/** @internal */ +export function fileContainsPackageImport(sourceFile: SourceFile, packageName: string) { + return sourceFile.imports && sourceFile.imports.some(i => i.text === packageName || i.text.startsWith(packageName + "/")); +} + /** * Don't include something from a `node_modules` that isn't actually reachable by a global import. * A relative import to node_modules is usually a bad idea. diff --git a/src/services/goToDefinition.ts b/src/services/goToDefinition.ts index 0d388a808c628..9a47d90ce1deb 100644 --- a/src/services/goToDefinition.ts +++ b/src/services/goToDefinition.ts @@ -46,6 +46,7 @@ import { isBindingElement, isCallLikeExpression, isCallOrNewExpressionTarget, + isClassDeclaration, isClassElement, isClassExpression, isClassLike, @@ -228,16 +229,20 @@ export function getDefinitionAtPosition(program: Program, sourceFile: SourceFile // Don't go to the component constructor definition for a JSX element, just go to the component definition. 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. + // Here, we filter declarations to not duplicate returned definitions. + let declarationFilter: (d: Declaration) => boolean = d => d !== calledDeclaration; if (typeChecker.getRootSymbols(symbol).some(s => symbolMatchesSignature(s, calledDeclaration))) { - return [sigInfo]; - } - else { - const defs = getDefinitionFromSymbol(typeChecker, symbol, node, failedAliasResolution, calledDeclaration) || emptyArray; - // For a 'super()' call, put the signature first, else put the variable first. - return node.kind === SyntaxKind.SuperKeyword ? [sigInfo, ...defs] : [...defs, sigInfo]; + if (!isConstructorDeclaration(calledDeclaration)) return [sigInfo]; + + // If we found a constructor declaration, we also look for class declarations as definitions + declarationFilter = (d: Declaration) => d !== calledDeclaration && (isClassDeclaration(d) || isClassExpression(d)); } + const defs = getDefinitionFromSymbol(typeChecker, symbol, node, failedAliasResolution, declarationFilter) || emptyArray; + // For a 'super()' call, put the signature first, else put the variable first. + return node.kind === SyntaxKind.SuperKeyword ? [sigInfo, ...defs] : [...defs, sigInfo]; } // Because name in short-hand property assignment has two different meanings: property name and property value, @@ -584,9 +589,10 @@ function isExpandoDeclaration(node: Declaration): boolean { return !!containingAssignment && getAssignmentDeclarationKind(containingAssignment) === AssignmentDeclarationKind.Property; } -function getDefinitionFromSymbol(typeChecker: TypeChecker, symbol: Symbol, node: Node, failedAliasResolution?: boolean, excludeDeclaration?: Node): DefinitionInfo[] | undefined { - const filteredDeclarations = filter(symbol.declarations, d => d !== excludeDeclaration); - const signatureDefinition = getConstructSignatureDefinition() || getCallSignatureDefinition(); +function getDefinitionFromSymbol(typeChecker: TypeChecker, symbol: Symbol, node: Node, failedAliasResolution?: boolean, declarationFilter?: (d: Declaration) => boolean): DefinitionInfo[] | undefined { + const filteredDeclarations = declarationFilter !== undefined ? filter(symbol.declarations, declarationFilter) : symbol.declarations; + // If we have a declaration filter, we are looking for specific declaration(s), so we should not return prematurely. + const signatureDefinition = !declarationFilter && (getConstructSignatureDefinition() || getCallSignatureDefinition()); if (signatureDefinition) { return signatureDefinition; } diff --git a/src/services/pasteEdits.ts b/src/services/pasteEdits.ts index e39a51bf45076..d3c84b118aa8e 100644 --- a/src/services/pasteEdits.ts +++ b/src/services/pasteEdits.ts @@ -3,12 +3,17 @@ import { codefix, Debug, fileShouldUseJavaScriptRequire, + findAncestor, findIndex, forEachChild, formatting, + getNewLineOrDefaultFromHost, getQuotePreference, + getTokenAtPosition, isIdentifier, Program, + rangeContainsPosition, + rangeContainsRange, SourceFile, Statement, SymbolFlags, @@ -56,17 +61,16 @@ function pasteEdits( cancellationToken: CancellationToken, changes: textChanges.ChangeTracker, ) { - let actualPastedText: string[] | undefined; + let actualPastedText: string | undefined; if (pastedText.length !== pasteLocations.length) { - actualPastedText = pastedText.length === 1 ? pastedText : [pastedText.join("\n")]; + actualPastedText = pastedText.length === 1 ? pastedText[0] : pastedText.join(getNewLineOrDefaultFromHost(formatContext.host, formatContext.options)); } 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); + newText = actualPastedText ? newText.slice(0, pos) + actualPastedText + newText.slice(end) : newText.slice(0, pos) + pastedText[i] + newText.slice(end); } let importAdder: codefix.ImportAdder; @@ -104,12 +108,46 @@ function pasteEdits( 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); + + // `updatedRanges` represent the new ranges that account for the offset changes caused by pasting new text and + // `offset` represents by how much the starting position of `pasteLocations` needs to be changed. + // + // We iterate over each updated range to get the node that wholly encloses the updated range. + // For each child of that node, we checked for unresolved identifiers + // within the updated range and try importing it. + let offset = 0; + pasteLocations.forEach((location, i) => { + const oldTextLength = location.end - location.pos; + const textToBePasted = actualPastedText ?? pastedText[i]; + const startPos = location.pos + offset; + const endPos = startPos + textToBePasted.length; + const range: TextRange = { pos: startPos, end: endPos }; + offset += textToBePasted.length - oldTextLength; + + const enclosingNode = findAncestor( + getTokenAtPosition(context.sourceFile, range.pos), + ancestorNode => rangeContainsRange(ancestorNode, range), + ); + if (!enclosingNode) return; + + forEachChild(enclosingNode, function importUnresolvedIdentifiers(node) { + const isImportCandidate = isIdentifier(node) && + rangeContainsPosition(range, node.getStart(updatedFile)) && + !updatedProgram?.getTypeChecker().resolveName( + node.text, + node, + SymbolFlags.All, + /*excludeGlobals*/ false, + ); + if (isImportCandidate) { + return importAdder.addImportForUnresolvedIdentifier( + context, + node, + /*useAutoImportProvider*/ true, + ); + } + node.forEachChild(importUnresolvedIdentifiers); + }); }); } importAdder.writeFixes(changes, getQuotePreference(copiedFrom ? copiedFrom.file : targetFile, preferences)); @@ -125,8 +163,7 @@ function pasteEdits( changes.replaceRangeWithText( targetFile, { pos: paste.pos, end: paste.end }, - actualPastedText ? - actualPastedText[0] : pastedText[i], + actualPastedText ?? pastedText[i], ); }); } diff --git a/src/services/refactors/inlineVariable.ts b/src/services/refactors/inlineVariable.ts index 0bcf841ce39e2..d18b94f04472b 100644 --- a/src/services/refactors/inlineVariable.ts +++ b/src/services/refactors/inlineVariable.ts @@ -24,6 +24,9 @@ import { isObjectLiteralExpression, isPropertyAccessExpression, isShorthandPropertyAssignment, + isStringLiteral, + isTaggedTemplateExpression, + isTemplateSpan, isTypeQueryNode, isVariableDeclarationInVariableStatement, isVariableStatement, @@ -33,11 +36,14 @@ import { refactor, some, SourceFile, + StringLiteral, SymbolFlags, + TemplateSpan, textChanges, textRangeContainsPositionInclusive, TypeChecker, VariableDeclaration, + walkUpParenthesizedExpressions, } from "../_namespaces/ts.js"; import { RefactorErrorInfo, @@ -115,7 +121,13 @@ registerRefactor(refactorName, { const { references, declaration, replacement } = info; const edits = textChanges.ChangeTracker.with(context, tracker => { for (const node of references) { - tracker.replaceNode(file, node, getReplacementExpression(node, replacement)); + const closestStringIdentifierParent = isStringLiteral(replacement) && isIdentifier(node) && walkUpParenthesizedExpressions(node.parent); + if (closestStringIdentifierParent && isTemplateSpan(closestStringIdentifierParent) && !isTaggedTemplateExpression(closestStringIdentifierParent.parent.parent)) { + replaceTemplateStringVariableWithLiteral(tracker, file, closestStringIdentifierParent, replacement); + } + else { + tracker.replaceNode(file, node, getReplacementExpression(node, replacement)); + } } tracker.delete(file, declaration); }); @@ -255,3 +267,17 @@ function getReplacementExpression(reference: Node, replacement: Expression) { return replacement; } + +function replaceTemplateStringVariableWithLiteral(tracker: textChanges.ChangeTracker, sourceFile: SourceFile, reference: TemplateSpan, replacement: StringLiteral) { + const templateExpression = reference.parent; + const index = templateExpression.templateSpans.indexOf(reference); + const prevNode = index === 0 ? templateExpression.head : templateExpression.templateSpans[index - 1]; + tracker.replaceRangeWithText( + sourceFile, + { + pos: prevNode.getEnd() - 2, + end: reference.literal.getStart() + 1, + }, + replacement.text.replace(/\\/g, "\\\\").replace(/`/g, "\\`"), + ); +} diff --git a/src/services/transpile.ts b/src/services/transpile.ts index 86622ea3e3528..95722c88a5c05 100644 --- a/src/services/transpile.ts +++ b/src/services/transpile.ts @@ -149,6 +149,7 @@ function transpileWorker(input: string, transpileOptions: TranspileOptions, decl } else { options.declaration = false; + options.declarationMap = false; } const newLine = getNewLineCharacter(options); diff --git a/src/services/utilities.ts b/src/services/utilities.ts index c3908e208b74f..4f5cbf8d7d467 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -3740,7 +3740,7 @@ export function createPackageJsonInfo(fileName: string, host: { readFile?(fileNa /** @internal */ export interface PackageJsonImportFilter { allowsImportingAmbientModule: (moduleSymbol: Symbol, moduleSpecifierResolutionHost: ModuleSpecifierResolutionHost) => boolean; - allowsImportingSourceFile: (sourceFile: SourceFile, moduleSpecifierResolutionHost: ModuleSpecifierResolutionHost) => boolean; + getSourceFileInfo: (sourceFile: SourceFile, moduleSpecifierResolutionHost: ModuleSpecifierResolutionHost) => { importable: boolean; packageName?: string; }; /** * Use for a specific module specifier that has already been resolved. * Use `allowsImportingAmbientModule` or `allowsImportingSourceFile` to resolve @@ -3757,10 +3757,10 @@ export function createPackageJsonImportFilter(fromFile: SourceFile | FutureSourc let usesNodeCoreModules: boolean | undefined; let ambientModuleCache: Map | undefined; - let sourceFileCache: Map | undefined; + let sourceFileCache: Map | undefined; return { allowsImportingAmbientModule, - allowsImportingSourceFile, + getSourceFileInfo, allowsImportingSpecifier, }; @@ -3808,9 +3808,9 @@ export function createPackageJsonImportFilter(fromFile: SourceFile | FutureSourc return result; } - function allowsImportingSourceFile(sourceFile: SourceFile, moduleSpecifierResolutionHost: ModuleSpecifierResolutionHost): boolean { + function getSourceFileInfo(sourceFile: SourceFile, moduleSpecifierResolutionHost: ModuleSpecifierResolutionHost): { importable: boolean; packageName?: string; } { if (!packageJsons.length) { - return true; + return { importable: true, packageName: undefined }; } if (!sourceFileCache) { @@ -3823,13 +3823,15 @@ export function createPackageJsonImportFilter(fromFile: SourceFile | FutureSourc } } - const moduleSpecifier = getNodeModulesPackageNameFromFileName(sourceFile.fileName, moduleSpecifierResolutionHost); - if (!moduleSpecifier) { - sourceFileCache.set(sourceFile, true); - return true; + const packageName = getNodeModulesPackageNameFromFileName(sourceFile.fileName, moduleSpecifierResolutionHost); + if (!packageName) { + const result = { importable: true, packageName }; + sourceFileCache.set(sourceFile, result); + return result; } - const result = moduleSpecifierIsCoveredByPackageJson(moduleSpecifier); + const importable = moduleSpecifierIsCoveredByPackageJson(packageName); + const result = { importable, packageName }; sourceFileCache.set(sourceFile, result); return result; } diff --git a/src/testRunner/unittests/evaluation/awaitUsingDeclarations.ts b/src/testRunner/unittests/evaluation/awaitUsingDeclarations.ts index 2ba072b212270..6cd8864e85785 100644 --- a/src/testRunner/unittests/evaluation/awaitUsingDeclarations.ts +++ b/src/testRunner/unittests/evaluation/awaitUsingDeclarations.ts @@ -1874,4 +1874,140 @@ describe("unittests:: evaluation:: awaitUsingDeclarations", () => { "catch", ]); }); + + it("deterministic collapse of Await", async () => { + const { main, output } = evaluator.evaluateTypeScript( + ` + export const output: any[] = []; + + let asyncId = 0; + function increment() { asyncId++; } + + export async function main() { + // increment asyncId at the top of each turn of the microtask queue + let pending = Promise.resolve(); + for (let i = 0; i < 10; i++) { + pending = pending.then(increment); + } + + { + using sync1 = { [Symbol.dispose]() { output.push(asyncId); } }; // asyncId: 2 + await using async1 = null, async2 = null; + using sync2 = { [Symbol.dispose]() { output.push(asyncId); } }; // asyncId: 1 + await using async3 = null, async4 = null; + output.push(asyncId); // asyncId: 0 + } + + output.push(asyncId); // asyncId: Ideally, 2, but ends up being 4 due to delays imposed by 'await' + + await pending; // wait for the remaining 'increment' frames to complete. + } + + `, + { target: ts.ScriptTarget.ES2018 }, + ); + + await main(); + + assert.deepEqual(output, [ + 0, + 1, + 2, + + // This really should be 2, but our transpile introduces an extra `await` by necessity to observe the + // result of __disposeResources. The process of adopting the result ends up taking two turns of the + // microtask queue. + 4, + ]); + }); + + it("'await using' with downlevel generators", async () => { + abstract class Iterator { + return?(): void; + [evaluator.FakeSymbol.iterator]() { + return this; + } + [evaluator.FakeSymbol.dispose]() { + this.return?.(); + } + } + + const { main } = evaluator.evaluateTypeScript( + ` + let exited = false; + + function * f() { + try { + yield; + } + finally { + exited = true; + } + } + + export async function main() { + { + await using g = f(); + g.next(); + } + + return exited; + } + `, + { + target: ts.ScriptTarget.ES5, + }, + { + Iterator, + }, + ); + + const exited = await main(); + assert.isTrue(exited, "Expected 'await using' to dispose generator"); + }); + + it("'await using' with downlevel async generators", async () => { + abstract class AsyncIterator { + return?(): PromiseLike; + [evaluator.FakeSymbol.asyncIterator]() { + return this; + } + async [evaluator.FakeSymbol.asyncDispose]() { + await this.return?.(); + } + } + + const { main } = evaluator.evaluateTypeScript( + ` + let exited = false; + + async function * f() { + try { + yield; + } + finally { + exited = true; + } + } + + export async function main() { + { + await using g = f(); + await g.next(); + } + + return exited; + } + `, + { + target: ts.ScriptTarget.ES5, + }, + { + AsyncIterator, + }, + ); + + const exited = await main(); + assert.isTrue(exited, "Expected 'await using' to dispose async generator"); + }); }); diff --git a/src/testRunner/unittests/evaluation/usingDeclarations.ts b/src/testRunner/unittests/evaluation/usingDeclarations.ts index f244e27844b0d..64bfa12416bc1 100644 --- a/src/testRunner/unittests/evaluation/usingDeclarations.ts +++ b/src/testRunner/unittests/evaluation/usingDeclarations.ts @@ -1811,49 +1811,48 @@ describe("unittests:: evaluation:: usingDeclarations", () => { ]); }); - it("deterministic collapse of Await", async () => { - const { main, output } = evaluator.evaluateTypeScript( - ` - export const output: any[] = []; - - let asyncId = 0; - function increment() { asyncId++; } - - export async function main() { - // increment asyncId at the top of each turn of the microtask queue - let pending = Promise.resolve(); - for (let i = 0; i < 10; i++) { - pending = pending.then(increment); + it("'using' with downlevel generators", () => { + abstract class Iterator { + return?(): void; + [evaluator.FakeSymbol.iterator]() { + return this; } - - { - using sync1 = { [Symbol.dispose]() { output.push(asyncId); } }; // asyncId: 2 - await using async1 = null, async2 = null; - using sync2 = { [Symbol.dispose]() { output.push(asyncId); } }; // asyncId: 1 - await using async3 = null, async4 = null; - output.push(asyncId); // asyncId: 0 + [evaluator.FakeSymbol.dispose]() { + this.return?.(); } + } - output.push(asyncId); // asyncId: Ideally, 2, but ends up being 4 due to delays imposed by 'await' + const { main } = evaluator.evaluateTypeScript( + ` + let exited = false; - await pending; // wait for the remaining 'increment' frames to complete. - } + function * f() { + try { + yield; + } + finally { + exited = true; + } + } + + export function main() { + { + using g = f(); + g.next(); + } + return exited; + } `, - { target: ts.ScriptTarget.ES2018 }, + { + target: ts.ScriptTarget.ES5, + }, + { + Iterator, + }, ); - await main(); - - assert.deepEqual(output, [ - 0, - 1, - 2, - - // This really should be 2, but our transpile introduces an extra `await` by necessity to observe the - // result of __disposeResources. The process of adopting the result ends up taking two turns of the - // microtask queue. - 4, - ]); + const exited = main(); + assert.isTrue(exited, "Expected 'using' to dispose generator"); }); }); diff --git a/src/testRunner/unittests/helpers/sampleProjectReferences.ts b/src/testRunner/unittests/helpers/sampleProjectReferences.ts index 7c5634c0120e3..f6a6352398a36 100644 --- a/src/testRunner/unittests/helpers/sampleProjectReferences.ts +++ b/src/testRunner/unittests/helpers/sampleProjectReferences.ts @@ -26,7 +26,7 @@ export function getFsContentsForSampleProjectReferencesLogicConfig(withNodeNext? ], }); } -export function getFsContentsForSampleProjectReferences(withNodeNext?: boolean): FsContents { +export function getFsContentsForSampleProjectReferences(withNodeNext?: boolean, skipReferenceCoreFromTest?: boolean): FsContents { return { [libFile.path]: libFile.content, "/user/username/projects/sample1/core/tsconfig.json": jsonToReadableText({ @@ -55,10 +55,14 @@ export function getFsContentsForSampleProjectReferences(withNodeNext?: boolean): export const m = mod; `, "/user/username/projects/sample1/tests/tsconfig.json": jsonToReadableText({ - references: [ - { path: "../core" }, - { path: "../logic" }, - ], + references: !skipReferenceCoreFromTest ? + [ + { path: "../core" }, + { path: "../logic" }, + ] : + [ + { path: "../logic" }, + ], files: ["index.ts"], compilerOptions: { ...getProjectConfigWithNodeNext(withNodeNext), @@ -81,9 +85,9 @@ export function getFsContentsForSampleProjectReferences(withNodeNext?: boolean): }; } -export function getFsForSampleProjectReferences() { +export function getFsForSampleProjectReferences(withNodeNext?: boolean, skipReferenceCoreFromTest?: boolean) { return loadProjectFromFiles( - getFsContentsForSampleProjectReferences(), + getFsContentsForSampleProjectReferences(withNodeNext, skipReferenceCoreFromTest), { cwd: "/user/username/projects/sample1", executingFilePath: libFile.path, @@ -91,9 +95,9 @@ export function getFsForSampleProjectReferences() { ); } -export function getSysForSampleProjectReferences(withNodeNext?: boolean) { +export function getSysForSampleProjectReferences(withNodeNext?: boolean, skipReferenceCoreFromTest?: boolean) { return createWatchedSystem( - getFsContentsForSampleProjectReferences(withNodeNext), + getFsContentsForSampleProjectReferences(withNodeNext, skipReferenceCoreFromTest), { currentDirectory: "/user/username/projects/sample1", }, diff --git a/src/testRunner/unittests/services/transpile.ts b/src/testRunner/unittests/services/transpile.ts index 3a1d1c24c9ae4..66faf0e452a65 100644 --- a/src/testRunner/unittests/services/transpile.ts +++ b/src/testRunner/unittests/services/transpile.ts @@ -294,6 +294,11 @@ var x = 0;`, testVerbatimModuleSyntax: true, }); + transpilesCorrectly("Supports setting 'declarationMap'", "x;", { + options: { compilerOptions: { declarationMap: true }, fileName: "input.js", reportDiagnostics: true }, + testVerbatimModuleSyntax: true, + }); + transpilesCorrectly("Supports setting 'declarationDir'", "x;", { options: { compilerOptions: { declarationDir: "out/declarations" }, fileName: "input.js", reportDiagnostics: true }, testVerbatimModuleSyntax: true, diff --git a/src/testRunner/unittests/tsbuild/sample.ts b/src/testRunner/unittests/tsbuild/sample.ts index 7b5498ecec553..7cffa6cede35b 100644 --- a/src/testRunner/unittests/tsbuild/sample.ts +++ b/src/testRunner/unittests/tsbuild/sample.ts @@ -359,6 +359,23 @@ describe("unittests:: tsbuild:: on 'sample1' project", () => { modifyFs: fs => replaceText(fs, "logic/index.ts", "c.multiply(10, 15)", `c.muitply()`), edits: noChangeOnlyRuns, }); + + [false, true].forEach(skipReferenceCoreFromTest => + verifyTsc({ + scenario: "sample1", + subScenario: `skips builds downstream projects if upstream projects have errors with stopBuildOnErrors${skipReferenceCoreFromTest ? " when test does not reference core" : ""}`, + fs: () => getFsForSampleProjectReferences(/*withNodeNext*/ undefined, skipReferenceCoreFromTest), + commandLineArgs: ["--b", "tests", "--verbose", "--stopBuildOnErrors"], + modifyFs: fs => appendText(fs, "core/index.ts", `multiply();`), + edits: [ + noChangeRun, + { + caption: "fix error", + edit: fs => replaceText(fs, "core/index.ts", "multiply();", ""), + }, + ], + }) + ); }); describe("project invalidation", () => { diff --git a/src/testRunner/unittests/tsbuildWatch/programUpdates.ts b/src/testRunner/unittests/tsbuildWatch/programUpdates.ts index d5dfc7d2742db..9759e27e9fe6a 100644 --- a/src/testRunner/unittests/tsbuildWatch/programUpdates.ts +++ b/src/testRunner/unittests/tsbuildWatch/programUpdates.ts @@ -316,6 +316,28 @@ createSomeObject().message;`, } verifyIncrementalErrors("when preserveWatchOutput is not used", ts.emptyArray); verifyIncrementalErrors("when preserveWatchOutput is passed on command line", ["--preserveWatchOutput"]); + verifyIncrementalErrors("when stopBuildOnErrors is passed on command line", ["--stopBuildOnErrors"]); + + [false, true].forEach(skipReferenceCoreFromTest => + verifyTscWatch({ + scenario: "programUpdates", + subScenario: `skips builds downstream projects if upstream projects have errors with stopBuildOnErrors${skipReferenceCoreFromTest ? " when test does not reference core" : ""}`, + sys: () => { + const sys = getSysForSampleProjectReferences(/*withNodeNext*/ undefined, skipReferenceCoreFromTest); + sys.appendFile("core/index.ts", `multiply();`); + return sys; + }, + commandLineArgs: ["--b", "-w", "tests", "--verbose", "--stopBuildOnErrors"], + edits: [{ + caption: "fix error", + edit: sys => sys.replaceFileText("core/index.ts", "multiply();", ""), + timeouts: sys => { + sys.runQueuedTimeoutCallbacks(); + sys.runQueuedTimeoutCallbacks(); + }, + }], + }) + ); describe("when declaration emit errors are present", () => { const solution = "solution"; diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 1b71932e3463f..211120bc58196 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -3595,7 +3595,7 @@ declare namespace ts { readDirectory(rootDir: string, extensions: readonly string[], excludes: readonly string[] | undefined, includes: readonly string[] | undefined, depth?: number): string[]; } } - const versionMajorMinor = "5.6"; + const versionMajorMinor = "5.7"; /** The version of the TypeScript compiler release */ const version: string; /** @@ -6121,6 +6121,27 @@ declare namespace ts { getBaseTypes(type: InterfaceType): BaseType[]; getBaseTypeOfLiteralType(type: Type): Type; getWidenedType(type: Type): Type; + /** + * Gets the "awaited type" of a type. + * + * If an expression has a Promise-like type, the "awaited type" of the expression is + * derived from the type of the first argument of the fulfillment callback for that + * Promise's `then` method. If the "awaited type" is itself a Promise-like, it is + * recursively unwrapped in the same manner until a non-promise type is found. + * + * If an expression does not have a Promise-like type, its "awaited type" is the type + * of the expression. + * + * If the resulting "awaited type" is a generic object type, then it is wrapped in + * an `Awaited`. + * + * In the event the "awaited type" circularly references itself, or is a non-Promise + * object-type with a callable `then()` method, an "awaited type" cannot be determined + * and the value `undefined` will be returned. + * + * This is used to reflect the runtime behavior of the `await` keyword. + */ + getAwaitedType(type: Type): Type | undefined; getReturnTypeOfSignature(signature: Signature): Type; getNullableType(type: Type, flags: TypeFlags): Type; getNonNullableType(type: Type): Type; @@ -9802,6 +9823,7 @@ declare namespace ts { dry?: boolean; force?: boolean; verbose?: boolean; + stopBuildOnErrors?: boolean; incremental?: boolean; assumeChangesOnlyAffectDirectDependencies?: boolean; declaration?: boolean; diff --git a/tests/baselines/reference/asyncGeneratorPromiseNextType.symbols b/tests/baselines/reference/asyncGeneratorPromiseNextType.symbols new file mode 100644 index 0000000000000..a853c42452e78 --- /dev/null +++ b/tests/baselines/reference/asyncGeneratorPromiseNextType.symbols @@ -0,0 +1,121 @@ +//// [tests/cases/conformance/asyncGenerators/asyncGeneratorPromiseNextType.ts] //// + +=== asyncGeneratorPromiseNextType.ts === +// https://github.com/microsoft/TypeScript/issues/44808 + +type Result = {message: string} +>Result : Symbol(Result, Decl(asyncGeneratorPromiseNextType.ts, 0, 0)) +>message : Symbol(message, Decl(asyncGeneratorPromiseNextType.ts, 2, 15)) + +async function *saverGen(): AsyncGenerator | undefined> { +>saverGen : Symbol(saverGen, Decl(asyncGeneratorPromiseNextType.ts, 2, 31)) +>AsyncGenerator : Symbol(AsyncGenerator, Decl(lib.es2018.asyncgenerator.d.ts, --, --)) +>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(asyncGeneratorPromiseNextType.ts, 0, 0)) + + let pending: Promise[] = []; +>pending : Symbol(pending, Decl(asyncGeneratorPromiseNextType.ts, 5, 7)) +>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(asyncGeneratorPromiseNextType.ts, 0, 0)) + + while (true) { + const p: Promise | undefined = yield; +>p : Symbol(p, Decl(asyncGeneratorPromiseNextType.ts, 7, 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(asyncGeneratorPromiseNextType.ts, 0, 0)) + + if (p != null) +>p : Symbol(p, Decl(asyncGeneratorPromiseNextType.ts, 7, 13)) + + pending.push(p); +>pending.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) +>pending : Symbol(pending, Decl(asyncGeneratorPromiseNextType.ts, 5, 7)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) +>p : Symbol(p, Decl(asyncGeneratorPromiseNextType.ts, 7, 13)) + + else { + const results = await Promise.all(pending); +>results : Symbol(results, Decl(asyncGeneratorPromiseNextType.ts, 11, 17)) +>Promise.all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>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, --, --)) +>all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>pending : Symbol(pending, Decl(asyncGeneratorPromiseNextType.ts, 5, 7)) + + pending = []; +>pending : Symbol(pending, Decl(asyncGeneratorPromiseNextType.ts, 5, 7)) + + console.log('Storing...'); +>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, --, --)) + + await storeResults(results); +>storeResults : Symbol(storeResults, Decl(asyncGeneratorPromiseNextType.ts, 17, 1)) +>results : Symbol(results, Decl(asyncGeneratorPromiseNextType.ts, 11, 17)) + } + } +} + +function storeResults(results: Result[]) { +>storeResults : Symbol(storeResults, Decl(asyncGeneratorPromiseNextType.ts, 17, 1)) +>results : Symbol(results, Decl(asyncGeneratorPromiseNextType.ts, 19, 22)) +>Result : Symbol(Result, Decl(asyncGeneratorPromiseNextType.ts, 0, 0)) + + console.log(results); +>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, --, --)) +>results : Symbol(results, Decl(asyncGeneratorPromiseNextType.ts, 19, 22)) + + return Promise.resolve(); +>Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>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, --, --)) +>resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +} + +async function *saverGen2() { +>saverGen2 : Symbol(saverGen2, Decl(asyncGeneratorPromiseNextType.ts, 22, 1)) + + let pending: Promise[] = []; +>pending : Symbol(pending, Decl(asyncGeneratorPromiseNextType.ts, 25, 7)) +>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(asyncGeneratorPromiseNextType.ts, 0, 0)) + + while (true) { + const p: Promise | undefined = yield; +>p : Symbol(p, Decl(asyncGeneratorPromiseNextType.ts, 27, 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(asyncGeneratorPromiseNextType.ts, 0, 0)) + + if (p != null) +>p : Symbol(p, Decl(asyncGeneratorPromiseNextType.ts, 27, 13)) + + pending.push(p); +>pending.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) +>pending : Symbol(pending, Decl(asyncGeneratorPromiseNextType.ts, 25, 7)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) +>p : Symbol(p, Decl(asyncGeneratorPromiseNextType.ts, 27, 13)) + + else { + const results = await Promise.all(pending); +>results : Symbol(results, Decl(asyncGeneratorPromiseNextType.ts, 31, 17)) +>Promise.all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>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, --, --)) +>all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) +>pending : Symbol(pending, Decl(asyncGeneratorPromiseNextType.ts, 25, 7)) + + pending = []; +>pending : Symbol(pending, Decl(asyncGeneratorPromiseNextType.ts, 25, 7)) + + console.log('Storing...'); +>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, --, --)) + + await storeResults(results); +>storeResults : Symbol(storeResults, Decl(asyncGeneratorPromiseNextType.ts, 17, 1)) +>results : Symbol(results, Decl(asyncGeneratorPromiseNextType.ts, 31, 17)) + } + } +} + diff --git a/tests/baselines/reference/asyncGeneratorPromiseNextType.types b/tests/baselines/reference/asyncGeneratorPromiseNextType.types new file mode 100644 index 0000000000000..04df59c42c626 --- /dev/null +++ b/tests/baselines/reference/asyncGeneratorPromiseNextType.types @@ -0,0 +1,215 @@ +//// [tests/cases/conformance/asyncGenerators/asyncGeneratorPromiseNextType.ts] //// + +=== asyncGeneratorPromiseNextType.ts === +// https://github.com/microsoft/TypeScript/issues/44808 + +type Result = {message: string} +>Result : Result +> : ^^^^^^ +>message : string +> : ^^^^^^ + +async function *saverGen(): AsyncGenerator | undefined> { +>saverGen : () => AsyncGenerator | undefined> +> : ^^^^^^ + + let pending: Promise[] = []; +>pending : Promise[] +> : ^^^^^^^^^^^^^^^^^ +>[] : never[] +> : ^^^^^^^ + + while (true) { +>true : true +> : ^^^^ + + const p: Promise | undefined = yield; +>p : Promise | undefined +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield : Promise | undefined +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + if (p != null) +>p != null : boolean +> : ^^^^^^^ +>p : Promise | undefined +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + pending.push(p); +>pending.push(p) : number +> : ^^^^^^ +>pending.push : (...items: Promise[]) => number +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>pending : Promise[] +> : ^^^^^^^^^^^^^^^^^ +>push : (...items: Promise[]) => number +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>p : Promise +> : ^^^^^^^^^^^^^^^ + + else { + const results = await Promise.all(pending); +>results : Result[] +> : ^^^^^^^^ +>await Promise.all(pending) : Result[] +> : ^^^^^^^^ +>Promise.all(pending) : Promise +> : ^^^^^^^^^^^^^^^^^ +>Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>Promise : PromiseConstructor +> : ^^^^^^^^^^^^^^^^^^ +>all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>pending : Promise[] +> : ^^^^^^^^^^^^^^^^^ + + pending = []; +>pending = [] : never[] +> : ^^^^^^^ +>pending : Promise[] +> : ^^^^^^^^^^^^^^^^^ +>[] : never[] +> : ^^^^^^^ + + console.log('Storing...'); +>console.log('Storing...') : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>'Storing...' : "Storing..." +> : ^^^^^^^^^^^^ + + await storeResults(results); +>await storeResults(results) : void +> : ^^^^ +>storeResults(results) : Promise +> : ^^^^^^^^^^^^^ +>storeResults : (results: Result[]) => Promise +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +>results : Result[] +> : ^^^^^^^^ + } + } +} + +function storeResults(results: Result[]) { +>storeResults : (results: Result[]) => Promise +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +>results : Result[] +> : ^^^^^^^^ + + console.log(results); +>console.log(results) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>results : Result[] +> : ^^^^^^^^ + + return Promise.resolve(); +>Promise.resolve() : Promise +> : ^^^^^^^^^^^^^ +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +>Promise : PromiseConstructor +> : ^^^^^^^^^^^^^^^^^^ +>resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +> : ^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ +} + +async function *saverGen2() { +>saverGen2 : () => AsyncGenerator | undefined> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + let pending: Promise[] = []; +>pending : Promise[] +> : ^^^^^^^^^^^^^^^^^ +>[] : never[] +> : ^^^^^^^ + + while (true) { +>true : true +> : ^^^^ + + const p: Promise | undefined = yield; +>p : Promise | undefined +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield : any + + if (p != null) +>p != null : boolean +> : ^^^^^^^ +>p : Promise | undefined +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + pending.push(p); +>pending.push(p) : number +> : ^^^^^^ +>pending.push : (...items: Promise[]) => number +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>pending : Promise[] +> : ^^^^^^^^^^^^^^^^^ +>push : (...items: Promise[]) => number +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>p : Promise +> : ^^^^^^^^^^^^^^^ + + else { + const results = await Promise.all(pending); +>results : Result[] +> : ^^^^^^^^ +>await Promise.all(pending) : Result[] +> : ^^^^^^^^ +>Promise.all(pending) : Promise +> : ^^^^^^^^^^^^^^^^^ +>Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>Promise : PromiseConstructor +> : ^^^^^^^^^^^^^^^^^^ +>all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>pending : Promise[] +> : ^^^^^^^^^^^^^^^^^ + + pending = []; +>pending = [] : never[] +> : ^^^^^^^ +>pending : Promise[] +> : ^^^^^^^^^^^^^^^^^ +>[] : never[] +> : ^^^^^^^ + + console.log('Storing...'); +>console.log('Storing...') : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>'Storing...' : "Storing..." +> : ^^^^^^^^^^^^ + + await storeResults(results); +>await storeResults(results) : void +> : ^^^^ +>storeResults(results) : Promise +> : ^^^^^^^^^^^^^ +>storeResults : (results: Result[]) => Promise +> : ^ ^^ ^^^^^^^^^^^^^^^^^^ +>results : Result[] +> : ^^^^^^^^ + } + } +} + diff --git a/tests/baselines/reference/awaitUsingDeclarationsWithAsyncIteratorObject.errors.txt b/tests/baselines/reference/awaitUsingDeclarationsWithAsyncIteratorObject.errors.txt new file mode 100644 index 0000000000000..82e1293db610f --- /dev/null +++ b/tests/baselines/reference/awaitUsingDeclarationsWithAsyncIteratorObject.errors.txt @@ -0,0 +1,19 @@ +awaitUsingDeclarationsWithAsyncIteratorObject.ts(11,23): error TS2851: The initializer of an 'await using' declaration must be either an object with a '[Symbol.asyncDispose]()' or '[Symbol.dispose]()' method, or be 'null' or 'undefined'. + + +==== awaitUsingDeclarationsWithAsyncIteratorObject.ts (1 errors) ==== + declare const ai: AsyncIterator; + declare const aio: AsyncIteratorObject; + declare const ag: AsyncGenerator; + + async function f() { + // should pass + await using it0 = aio; + await using it1 = ag; + + // should fail + await using it2 = ai; + ~~ +!!! error TS2851: The initializer of an 'await using' declaration must be either an object with a '[Symbol.asyncDispose]()' or '[Symbol.dispose]()' method, or be 'null' or 'undefined'. + } + \ No newline at end of file diff --git a/tests/baselines/reference/awaitUsingDeclarationsWithAsyncIteratorObject.symbols b/tests/baselines/reference/awaitUsingDeclarationsWithAsyncIteratorObject.symbols new file mode 100644 index 0000000000000..6ff871600af75 --- /dev/null +++ b/tests/baselines/reference/awaitUsingDeclarationsWithAsyncIteratorObject.symbols @@ -0,0 +1,33 @@ +//// [tests/cases/conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsWithAsyncIteratorObject.ts] //// + +=== awaitUsingDeclarationsWithAsyncIteratorObject.ts === +declare const ai: AsyncIterator; +>ai : Symbol(ai, Decl(awaitUsingDeclarationsWithAsyncIteratorObject.ts, 0, 13)) +>AsyncIterator : Symbol(AsyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) + +declare const aio: AsyncIteratorObject; +>aio : Symbol(aio, Decl(awaitUsingDeclarationsWithAsyncIteratorObject.ts, 1, 13)) +>AsyncIteratorObject : Symbol(AsyncIteratorObject, Decl(lib.es2018.asynciterable.d.ts, --, --), Decl(lib.esnext.disposable.d.ts, --, --)) + +declare const ag: AsyncGenerator; +>ag : Symbol(ag, Decl(awaitUsingDeclarationsWithAsyncIteratorObject.ts, 2, 13)) +>AsyncGenerator : Symbol(AsyncGenerator, Decl(lib.es2018.asyncgenerator.d.ts, --, --)) + +async function f() { +>f : Symbol(f, Decl(awaitUsingDeclarationsWithAsyncIteratorObject.ts, 2, 47)) + + // should pass + await using it0 = aio; +>it0 : Symbol(it0, Decl(awaitUsingDeclarationsWithAsyncIteratorObject.ts, 6, 15)) +>aio : Symbol(aio, Decl(awaitUsingDeclarationsWithAsyncIteratorObject.ts, 1, 13)) + + await using it1 = ag; +>it1 : Symbol(it1, Decl(awaitUsingDeclarationsWithAsyncIteratorObject.ts, 7, 15)) +>ag : Symbol(ag, Decl(awaitUsingDeclarationsWithAsyncIteratorObject.ts, 2, 13)) + + // should fail + await using it2 = ai; +>it2 : Symbol(it2, Decl(awaitUsingDeclarationsWithAsyncIteratorObject.ts, 10, 15)) +>ai : Symbol(ai, Decl(awaitUsingDeclarationsWithAsyncIteratorObject.ts, 0, 13)) +} + diff --git a/tests/baselines/reference/awaitUsingDeclarationsWithAsyncIteratorObject.types b/tests/baselines/reference/awaitUsingDeclarationsWithAsyncIteratorObject.types new file mode 100644 index 0000000000000..43d7a7d5ed183 --- /dev/null +++ b/tests/baselines/reference/awaitUsingDeclarationsWithAsyncIteratorObject.types @@ -0,0 +1,40 @@ +//// [tests/cases/conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsWithAsyncIteratorObject.ts] //// + +=== awaitUsingDeclarationsWithAsyncIteratorObject.ts === +declare const ai: AsyncIterator; +>ai : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +declare const aio: AsyncIteratorObject; +>aio : AsyncIteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +declare const ag: AsyncGenerator; +>ag : AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +async function f() { +>f : () => Promise +> : ^^^^^^^^^^^^^^^^^^^ + + // should pass + await using it0 = aio; +>it0 : AsyncIteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>aio : AsyncIteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + await using it1 = ag; +>it1 : AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>ag : AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + // should fail + await using it2 = ai; +>it2 : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>ai : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +} + diff --git a/tests/baselines/reference/awaitUsingDeclarationsWithIteratorObject.errors.txt b/tests/baselines/reference/awaitUsingDeclarationsWithIteratorObject.errors.txt new file mode 100644 index 0000000000000..af20bc9b029b8 --- /dev/null +++ b/tests/baselines/reference/awaitUsingDeclarationsWithIteratorObject.errors.txt @@ -0,0 +1,28 @@ +awaitUsingDeclarationsWithIteratorObject.ts(20,23): error TS2851: The initializer of an 'await using' declaration must be either an object with a '[Symbol.asyncDispose]()' or '[Symbol.dispose]()' method, or be 'null' or 'undefined'. + + +==== awaitUsingDeclarationsWithIteratorObject.ts (1 errors) ==== + declare const i: Iterator; + declare const io: IteratorObject; + declare const g: Generator; + + class MyIterator extends Iterator { + next() { return { done: true, value: undefined }; } + } + + async function f() { + // should pass + await using it0 = io; + await using it1 = g; + await using it2 = Iterator.from(i) + await using it3 = new MyIterator(); + await using it4 = [].values(); + await using it5 = new Map().entries(); + await using it6 = new Set().keys(); + + // should fail + await using it7 = i; + ~ +!!! error TS2851: The initializer of an 'await using' declaration must be either an object with a '[Symbol.asyncDispose]()' or '[Symbol.dispose]()' method, or be 'null' or 'undefined'. + } + \ No newline at end of file diff --git a/tests/baselines/reference/awaitUsingDeclarationsWithIteratorObject.symbols b/tests/baselines/reference/awaitUsingDeclarationsWithIteratorObject.symbols new file mode 100644 index 0000000000000..11f28871b6eab --- /dev/null +++ b/tests/baselines/reference/awaitUsingDeclarationsWithIteratorObject.symbols @@ -0,0 +1,72 @@ +//// [tests/cases/conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsWithIteratorObject.ts] //// + +=== awaitUsingDeclarationsWithIteratorObject.ts === +declare const i: Iterator; +>i : Symbol(i, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 0, 13)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) + +declare const io: IteratorObject; +>io : Symbol(io, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 1, 13)) +>IteratorObject : Symbol(IteratorObject, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.disposable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) + +declare const g: Generator; +>g : Symbol(g, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 2, 13)) +>Generator : Symbol(Generator, Decl(lib.es2015.generator.d.ts, --, --)) + +class MyIterator extends Iterator { +>MyIterator : Symbol(MyIterator, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 2, 41)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) + + next() { return { done: true, value: undefined }; } +>next : Symbol(MyIterator.next, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 4, 43)) +>done : Symbol(done, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 5, 21)) +>value : Symbol(value, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 5, 33)) +>undefined : Symbol(undefined) +} + +async function f() { +>f : Symbol(f, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 6, 1)) + + // should pass + await using it0 = io; +>it0 : Symbol(it0, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 10, 15)) +>io : Symbol(io, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 1, 13)) + + await using it1 = g; +>it1 : Symbol(it1, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 11, 15)) +>g : Symbol(g, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 2, 13)) + + await using it2 = Iterator.from(i) +>it2 : Symbol(it2, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 12, 15)) +>Iterator.from : Symbol(IteratorConstructor.from, Decl(lib.esnext.iterator.d.ts, --, --)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) +>from : Symbol(IteratorConstructor.from, Decl(lib.esnext.iterator.d.ts, --, --)) +>i : Symbol(i, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 0, 13)) + + await using it3 = new MyIterator(); +>it3 : Symbol(it3, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 13, 15)) +>MyIterator : Symbol(MyIterator, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 2, 41)) + + await using it4 = [].values(); +>it4 : Symbol(it4, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 14, 15)) +>[].values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) + + await using it5 = new Map().entries(); +>it5 : Symbol(it5, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 15, 15)) +>new Map().entries : Symbol(Map.entries, Decl(lib.es2015.iterable.d.ts, --, --)) +>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, --, --)) +>entries : Symbol(Map.entries, Decl(lib.es2015.iterable.d.ts, --, --)) + + await using it6 = new Set().keys(); +>it6 : Symbol(it6, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 16, 15)) +>new Set().keys : Symbol(Set.keys, Decl(lib.es2015.iterable.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, --, --)) +>keys : Symbol(Set.keys, Decl(lib.es2015.iterable.d.ts, --, --)) + + // should fail + await using it7 = i; +>it7 : Symbol(it7, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 19, 15)) +>i : Symbol(i, Decl(awaitUsingDeclarationsWithIteratorObject.ts, 0, 13)) +} + diff --git a/tests/baselines/reference/awaitUsingDeclarationsWithIteratorObject.types b/tests/baselines/reference/awaitUsingDeclarationsWithIteratorObject.types new file mode 100644 index 0000000000000..54cd3d16dd0e9 --- /dev/null +++ b/tests/baselines/reference/awaitUsingDeclarationsWithIteratorObject.types @@ -0,0 +1,123 @@ +//// [tests/cases/conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsWithIteratorObject.ts] //// + +=== awaitUsingDeclarationsWithIteratorObject.ts === +declare const i: Iterator; +>i : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +declare const io: IteratorObject; +>io : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +declare const g: Generator; +>g : Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +class MyIterator extends Iterator { +>MyIterator : MyIterator +> : ^^^^^^^^^^ +>Iterator : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + next() { return { done: true, value: undefined }; } +>next : () => { done: boolean; value: any; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ done: true, value: undefined } : { done: boolean; value: undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>done : boolean +> : ^^^^^^^ +>true : true +> : ^^^^ +>value : undefined +> : ^^^^^^^^^ +>undefined : undefined +> : ^^^^^^^^^ +} + +async function f() { +>f : () => Promise +> : ^^^^^^^^^^^^^^^^^^^ + + // should pass + await using it0 = io; +>it0 : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>io : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + await using it1 = g; +>it1 : Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g : Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + await using it2 = Iterator.from(i) +>it2 : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Iterator.from(i) : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Iterator.from : (value: Iterator | Iterable) => IteratorObject +> : ^ ^^ ^^ ^^^^^ +>Iterator : IteratorConstructor +> : ^^^^^^^^^^^^^^^^^^^ +>from : (value: Iterator | Iterable) => IteratorObject +> : ^ ^^ ^^ ^^^^^ +>i : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + await using it3 = new MyIterator(); +>it3 : MyIterator +> : ^^^^^^^^^^ +>new MyIterator() : MyIterator +> : ^^^^^^^^^^ +>MyIterator : typeof MyIterator +> : ^^^^^^^^^^^^^^^^^ + + await using it4 = [].values(); +>it4 : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^ +>[].values() : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^ +>[].values : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>[] : undefined[] +> : ^^^^^^^^^^^ +>values : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ + + await using it5 = new Map().entries(); +>it5 : MapIterator<[string, string]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>new Map().entries() : MapIterator<[string, string]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>new Map().entries : () => MapIterator<[string, string]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>new Map() : Map +> : ^^^^^^^^^^^^^^^^^^^ +>Map : MapConstructor +> : ^^^^^^^^^^^^^^ +>entries : () => MapIterator<[string, string]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + await using it6 = new Set().keys(); +>it6 : SetIterator +> : ^^^^^^^^^^^^^^^^^^^ +>new Set().keys() : SetIterator +> : ^^^^^^^^^^^^^^^^^^^ +>new Set().keys : () => SetIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +>new Set() : Set +> : ^^^^^^^^^^^ +>Set : SetConstructor +> : ^^^^^^^^^^^^^^ +>keys : () => SetIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ + + // should fail + await using it7 = i; +>it7 : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +} + diff --git a/tests/baselines/reference/builtinIterator.symbols b/tests/baselines/reference/builtinIterator.symbols index 00c37ef1982b3..34ba5eea534dd 100644 --- a/tests/baselines/reference/builtinIterator.symbols +++ b/tests/baselines/reference/builtinIterator.symbols @@ -184,7 +184,7 @@ const iter1 = Iterator.from(g1); declare const iter2: IteratorObject; >iter2 : Symbol(iter2, Decl(builtinIterator.ts, 71, 13)) ->IteratorObject : Symbol(IteratorObject, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) +>IteratorObject : Symbol(IteratorObject, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.disposable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) const iter3 = iter2.flatMap(() => g1); >iter3 : Symbol(iter3, Decl(builtinIterator.ts, 72, 5)) diff --git a/tests/baselines/reference/completionsCommentsClassMembers.baseline b/tests/baselines/reference/completionsCommentsClassMembers.baseline index 07a6c068701b2..20aaedde50235 100644 --- a/tests/baselines/reference/completionsCommentsClassMembers.baseline +++ b/tests/baselines/reference/completionsCommentsClassMembers.baseline @@ -15330,7 +15330,11 @@ ] } ], - "defaultCommitCharacters": [] + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] } }, { @@ -27308,7 +27312,11 @@ ] } ], - "defaultCommitCharacters": [] + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] } }, { @@ -45958,7 +45966,11 @@ ] } ], - "defaultCommitCharacters": [] + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] } }, { @@ -56488,7 +56500,11 @@ ] } ], - "defaultCommitCharacters": [] + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] } }, { @@ -61751,7 +61767,11 @@ ] } ], - "defaultCommitCharacters": [] + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] } }, { @@ -69949,7 +69969,11 @@ ] } ], - "defaultCommitCharacters": [] + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] } }, { @@ -78147,7 +78171,11 @@ ] } ], - "defaultCommitCharacters": [] + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] } }, { @@ -86345,7 +86373,11 @@ ] } ], - "defaultCommitCharacters": [] + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] } }, { @@ -90932,7 +90964,11 @@ ] } ], - "defaultCommitCharacters": [] + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] } }, { @@ -100829,7 +100865,11 @@ ] } ], - "defaultCommitCharacters": [] + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] } } ] \ No newline at end of file diff --git a/tests/baselines/reference/completionsCommentsFunctionDeclaration.baseline b/tests/baselines/reference/completionsCommentsFunctionDeclaration.baseline index e3e737d791ac7..77f1f77195fdd 100644 --- a/tests/baselines/reference/completionsCommentsFunctionDeclaration.baseline +++ b/tests/baselines/reference/completionsCommentsFunctionDeclaration.baseline @@ -8290,7 +8290,11 @@ ] } ], - "defaultCommitCharacters": [] + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] } }, { diff --git a/tests/baselines/reference/completionsCommitCharactersAfterDot.baseline b/tests/baselines/reference/completionsCommitCharactersAfterDot.baseline new file mode 100644 index 0000000000000..7ef62c786df3e --- /dev/null +++ b/tests/baselines/reference/completionsCommitCharactersAfterDot.baseline @@ -0,0 +1,1827 @@ +// === Completions === +=== /tests/cases/fourslash/completionsCommitCharactersAfterDot.ts === +// declare const obj: { banana: 1 }; +// const x = obj. +// ^ +// | ---------------------------------------------------------------------- +// | (property) banana: 1 +// | ---------------------------------------------------------------------- +// declare module obj. {} +// ^ +// | ---------------------------------------------------------------------- +// | (property) banana: 1 +// | ---------------------------------------------------------------------- +// declare const obj2: { banana: 1 } | undefined; +// const y = obj2?. +// ^ +// | ---------------------------------------------------------------------- +// | (property) banana: 1 +// | ---------------------------------------------------------------------- +// declare const obj3: { [x: string]: number }; +// const z = obj3. +// ^ +// | ---------------------------------------------------------------------- +// | ---------------------------------------------------------------------- +// declare const obj4: { (): string; [x: string]: number } | undefined; +// const w = obj4?. +// ^ +// | ---------------------------------------------------------------------- +// | (method) Function.apply(this: Function, thisArg: any, argArray?: any): any +// | (property) Function.arguments: any +// | (method) Function.bind(this: Function, thisArg: any, ...argArray: any[]): any +// | (method) Function.call(this: Function, thisArg: any, ...argArray: any[]): any +// | (property) Function.caller: Function +// | (property) Function.length: number +// | (property) Function.prototype: any +// | (method) Function.toString(): string +// | ---------------------------------------------------------------------- +// declare const obj5: { (): string } | undefined; +// const a = obj5?. +// ^ +// | ---------------------------------------------------------------------- +// | (method) Function.apply(this: Function, thisArg: any, argArray?: any): any +// | (property) Function.arguments: any +// | (method) Function.bind(this: Function, thisArg: any, ...argArray: any[]): any +// | (method) Function.call(this: Function, thisArg: any, ...argArray: any[]): any +// | (property) Function.caller: Function +// | (property) Function.length: number +// | (property) Function.prototype: any +// | (method) Function.toString(): string +// | ---------------------------------------------------------------------- + +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersAfterDot.ts", + "position": 48, + "name": "1" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": true, + "isNewIdentifierLocation": false, + "entries": [ + { + "name": "banana", + "kind": "property", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "banana", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "1", + "kind": "stringLiteral" + } + ], + "documentation": [] + } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersAfterDot.ts", + "position": 68, + "name": "2" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": true, + "isNewIdentifierLocation": true, + "entries": [ + { + "name": "banana", + "kind": "property", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "banana", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "1", + "kind": "stringLiteral" + } + ], + "documentation": [] + } + ], + "defaultCommitCharacters": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersAfterDot.ts", + "position": 135, + "name": "3" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": true, + "isNewIdentifierLocation": false, + "entries": [ + { + "name": "banana", + "kind": "property", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "banana", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "1", + "kind": "stringLiteral" + } + ], + "documentation": [] + } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersAfterDot.ts", + "position": 196, + "name": "4" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": true, + "isNewIdentifierLocation": true, + "entries": [], + "defaultCommitCharacters": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersAfterDot.ts", + "position": 282, + "name": "5" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": true, + "isNewIdentifierLocation": true, + "entries": [ + { + "name": "apply", + "kind": "method", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "apply", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "this", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "thisArg", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "argArray", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Calls the function, substituting the specified object for the this value of the function, and the specified array for the arguments of the function.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "thisArg", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The object to be used as the this object.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "argArray", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A set of arguments to be passed to the function.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "arguments", + "kind": "property", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "arguments", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "bind", + "kind": "method", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "bind", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "this", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "thisArg", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "argArray", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "For a given function, creates a bound function that has the same body as the original function.\nThe this object of the bound function is associated with the specified object, and has the specified initial parameters.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "thisArg", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "An object to which the this keyword can refer inside the new function.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "argArray", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A list of arguments to be passed to the new function.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "call", + "kind": "method", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "call", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "this", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "thisArg", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "argArray", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Calls a method of an object, substituting another object for the current object.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "thisArg", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The object to be used as the current object.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "argArray", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A list of arguments to be passed to the method.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "caller", + "kind": "property", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "caller", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + } + ], + "documentation": [] + }, + { + "name": "length", + "kind": "property", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "length", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "prototype", + "kind": "property", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "prototype", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "toString", + "kind": "method", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "toString", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Returns a string representation of a function.", + "kind": "text" + } + ] + } + ], + "defaultCommitCharacters": [] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersAfterDot.ts", + "position": 347, + "name": "6" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": true, + "isNewIdentifierLocation": true, + "entries": [ + { + "name": "apply", + "kind": "method", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "apply", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "this", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "thisArg", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "argArray", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Calls the function, substituting the specified object for the this value of the function, and the specified array for the arguments of the function.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "thisArg", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The object to be used as the this object.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "argArray", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A set of arguments to be passed to the function.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "arguments", + "kind": "property", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "arguments", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "bind", + "kind": "method", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "bind", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "this", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "thisArg", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "argArray", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "For a given function, creates a bound function that has the same body as the original function.\nThe this object of the bound function is associated with the specified object, and has the specified initial parameters.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "thisArg", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "An object to which the this keyword can refer inside the new function.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "argArray", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A list of arguments to be passed to the new function.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "call", + "kind": "method", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "call", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "this", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "thisArg", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "argArray", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Calls a method of an object, substituting another object for the current object.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "thisArg", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The object to be used as the current object.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "argArray", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A list of arguments to be passed to the method.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "caller", + "kind": "property", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "caller", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + } + ], + "documentation": [] + }, + { + "name": "length", + "kind": "property", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "length", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "prototype", + "kind": "property", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "property", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "prototype", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "toString", + "kind": "method", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "method", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ".", + "kind": "punctuation" + }, + { + "text": "toString", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Returns a string representation of a function.", + "kind": "text" + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/completionsCommitCharactersExportImportClause.baseline b/tests/baselines/reference/completionsCommitCharactersExportImportClause.baseline new file mode 100644 index 0000000000000..2d8f11bf361b8 --- /dev/null +++ b/tests/baselines/reference/completionsCommitCharactersExportImportClause.baseline @@ -0,0 +1,247 @@ +// === Completions === +=== /tests/cases/fourslash/a.ts === +// const xx: string = "aa"; +// function ff(): void {} +// export { }; +// ^ +// | ---------------------------------------------------------------------- +// | function ff(): void +// | const xx: string +// | type +// | ---------------------------------------------------------------------- + +=== /tests/cases/fourslash/imports.ts === +// import { } from "./exports"; +// ^ +// | ---------------------------------------------------------------------- +// | const aa: () => void +// | const ff: string +// | type +// | ---------------------------------------------------------------------- + +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/a.ts", + "position": 57, + "name": "1" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": false, + "entries": [ + { + "name": "ff", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ff", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "xx", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "xx", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "type", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/imports.ts", + "position": 9, + "name": "2" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": true, + "isNewIdentifierLocation": false, + "entries": [ + { + "name": "aa", + "kind": "const", + "kindModifiers": "export", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "aa", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "ff", + "kind": "const", + "kindModifiers": "export", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ff", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "type", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/completionsCommitCharactersGlobal.baseline b/tests/baselines/reference/completionsCommitCharactersGlobal.baseline new file mode 100644 index 0000000000000..03147604cbf99 --- /dev/null +++ b/tests/baselines/reference/completionsCommitCharactersGlobal.baseline @@ -0,0 +1,85425 @@ +// === Completions === +=== /tests/cases/fourslash/completionsCommitCharactersGlobal.ts === +// declare function func(a: string, b: number): { a: string, b: number }; +// const x1 = func() +// ^ +// | ---------------------------------------------------------------------- +// | class C +// | function F(pred: x): any +// | function func(a: string, b: number): { +// | a: string; +// | b: number; +// | } +// | const x2: any +// | const x3: { +// | a: string; +// | b: number; +// | } +// | const x4: { +// | a: string; +// | b: number; +// | } +// | const x5: { +// | a: string; +// | b: number; +// | } +// | const x6: any +// | const x7: any +// | function x8(): void +// | function x9(a: number): any +// | const x10: [] +// | const x11: [] +// | let x12: any +// | const x13: string +// | abstract +// | any +// | interface Array +// | var Array: ArrayConstructor +// | interface ArrayBuffer +// | var ArrayBuffer: ArrayBufferConstructor +// | as +// | asserts +// | async +// | await +// | bigint +// | boolean +// | interface Boolean +// | var Boolean: BooleanConstructor +// | break +// | case +// | catch +// | class +// | const +// | continue +// | interface DataView +// | var DataView: DataViewConstructor +// | interface Date +// | var Date: DateConstructor +// | debugger +// | declare +// | function decodeURI(encodedURI: string): string +// | function decodeURIComponent(encodedURIComponent: string): string +// | default +// | delete +// | do +// | else +// | function encodeURI(uri: string): string +// | function encodeURIComponent(uriComponent: string | number | boolean): string +// | enum +// | interface Error +// | var Error: ErrorConstructor +// | function eval(x: string): any +// | interface EvalError +// | var EvalError: EvalErrorConstructor +// | export +// | extends +// | false +// | finally +// | interface Float32Array +// | var Float32Array: Float32ArrayConstructor +// | interface Float64Array +// | var Float64Array: Float64ArrayConstructor +// | for +// | function +// | interface Function +// | var Function: FunctionConstructor +// | module globalThis +// | if +// | implements +// | import +// | in +// | infer +// | var Infinity: number +// | instanceof +// | interface Int8Array +// | var Int8Array: Int8ArrayConstructor +// | interface Int16Array +// | var Int16Array: Int16ArrayConstructor +// | interface Int32Array +// | var Int32Array: Int32ArrayConstructor +// | interface +// | namespace Intl +// | function isFinite(number: number): boolean +// | function isNaN(number: number): boolean +// | interface JSON +// | var JSON: JSON +// | keyof +// | let +// | interface Math +// | var Math: Math +// | module +// | namespace +// | var NaN: number +// | never +// | new +// | null +// | number +// | interface Number +// | var Number: NumberConstructor +// | object +// | interface Object +// | var Object: ObjectConstructor +// | package +// | function parseFloat(string: string): number +// | function parseInt(string: string, radix?: number): number +// | interface RangeError +// | var RangeError: RangeErrorConstructor +// | readonly +// | interface ReferenceError +// | var ReferenceError: ReferenceErrorConstructor +// | interface RegExp +// | var RegExp: RegExpConstructor +// | return +// | satisfies +// | string +// | interface String +// | var String: StringConstructor +// | super +// | switch +// | symbol +// | interface SyntaxError +// | var SyntaxError: SyntaxErrorConstructor +// | this +// | throw +// | true +// | try +// | type +// | interface TypeError +// | var TypeError: TypeErrorConstructor +// | typeof +// | interface Uint8Array +// | var Uint8Array: Uint8ArrayConstructor +// | interface Uint8ClampedArray +// | var Uint8ClampedArray: Uint8ClampedArrayConstructor +// | interface Uint16Array +// | var Uint16Array: Uint16ArrayConstructor +// | interface Uint32Array +// | var Uint32Array: Uint32ArrayConstructor +// | var undefined +// | unique +// | unknown +// | interface URIError +// | var URIError: URIErrorConstructor +// | using +// | var +// | void +// | while +// | with +// | yield +// | function escape(string: string): string +// | function unescape(string: string): string +// | ---------------------------------------------------------------------- +// const x2 = func +// (a) +// ^ +// | ---------------------------------------------------------------------- +// | class C +// | function F(pred: x): any +// | function func(a: string, b: number): { +// | a: string; +// | b: number; +// | } +// | const x1: { +// | a: string; +// | b: number; +// | } +// | const x3: { +// | a: string; +// | b: number; +// | } +// | const x4: { +// | a: string; +// | b: number; +// | } +// | const x5: { +// | a: string; +// | b: number; +// | } +// | const x6: any +// | const x7: any +// | function x8(): void +// | function x9(a: number): any +// | const x10: [] +// | const x11: [] +// | let x12: any +// | const x13: string +// | abstract +// | any +// | interface Array +// | var Array: ArrayConstructor +// | interface ArrayBuffer +// | var ArrayBuffer: ArrayBufferConstructor +// | as +// | asserts +// | async +// | await +// | bigint +// | boolean +// | interface Boolean +// | var Boolean: BooleanConstructor +// | break +// | case +// | catch +// | class +// | const +// | continue +// | interface DataView +// | var DataView: DataViewConstructor +// | interface Date +// | var Date: DateConstructor +// | debugger +// | declare +// | function decodeURI(encodedURI: string): string +// | function decodeURIComponent(encodedURIComponent: string): string +// | default +// | delete +// | do +// | else +// | function encodeURI(uri: string): string +// | function encodeURIComponent(uriComponent: string | number | boolean): string +// | enum +// | interface Error +// | var Error: ErrorConstructor +// | function eval(x: string): any +// | interface EvalError +// | var EvalError: EvalErrorConstructor +// | export +// | extends +// | false +// | finally +// | interface Float32Array +// | var Float32Array: Float32ArrayConstructor +// | interface Float64Array +// | var Float64Array: Float64ArrayConstructor +// | for +// | function +// | interface Function +// | var Function: FunctionConstructor +// | module globalThis +// | if +// | implements +// | import +// | in +// | infer +// | var Infinity: number +// | instanceof +// | interface Int8Array +// | var Int8Array: Int8ArrayConstructor +// | interface Int16Array +// | var Int16Array: Int16ArrayConstructor +// | interface Int32Array +// | var Int32Array: Int32ArrayConstructor +// | interface +// | namespace Intl +// | function isFinite(number: number): boolean +// | function isNaN(number: number): boolean +// | interface JSON +// | var JSON: JSON +// | keyof +// | let +// | interface Math +// | var Math: Math +// | module +// | namespace +// | var NaN: number +// | never +// | new +// | null +// | number +// | interface Number +// | var Number: NumberConstructor +// | object +// | interface Object +// | var Object: ObjectConstructor +// | package +// | function parseFloat(string: string): number +// | function parseInt(string: string, radix?: number): number +// | interface RangeError +// | var RangeError: RangeErrorConstructor +// | readonly +// | interface ReferenceError +// | var ReferenceError: ReferenceErrorConstructor +// | interface RegExp +// | var RegExp: RegExpConstructor +// | return +// | satisfies +// | string +// | interface String +// | var String: StringConstructor +// | super +// | switch +// | symbol +// | interface SyntaxError +// | var SyntaxError: SyntaxErrorConstructor +// | this +// | throw +// | true +// | try +// | type +// | interface TypeError +// | var TypeError: TypeErrorConstructor +// | typeof +// | interface Uint8Array +// | var Uint8Array: Uint8ArrayConstructor +// | interface Uint8ClampedArray +// | var Uint8ClampedArray: Uint8ClampedArrayConstructor +// | interface Uint16Array +// | var Uint16Array: Uint16ArrayConstructor +// | interface Uint32Array +// | var Uint32Array: Uint32ArrayConstructor +// | var undefined +// | unique +// | unknown +// | interface URIError +// | var URIError: URIErrorConstructor +// | using +// | var +// | void +// | while +// | with +// | yield +// | function escape(string: string): string +// | function unescape(string: string): string +// | ---------------------------------------------------------------------- +// (a) +// ^ +// | ---------------------------------------------------------------------- +// | class C +// | function F(pred: x): any +// | function func(a: string, b: number): { +// | a: string; +// | b: number; +// | } +// | const x1: { +// | a: string; +// | b: number; +// | } +// | const x3: { +// | a: string; +// | b: number; +// | } +// | const x4: { +// | a: string; +// | b: number; +// | } +// | const x5: { +// | a: string; +// | b: number; +// | } +// | const x6: any +// | const x7: any +// | function x8(): void +// | function x9(a: number): any +// | const x10: [] +// | const x11: [] +// | let x12: any +// | const x13: string +// | abstract +// | any +// | interface Array +// | var Array: ArrayConstructor +// | interface ArrayBuffer +// | var ArrayBuffer: ArrayBufferConstructor +// | as +// | asserts +// | async +// | await +// | bigint +// | boolean +// | interface Boolean +// | var Boolean: BooleanConstructor +// | break +// | case +// | catch +// | class +// | const +// | continue +// | interface DataView +// | var DataView: DataViewConstructor +// | interface Date +// | var Date: DateConstructor +// | debugger +// | declare +// | function decodeURI(encodedURI: string): string +// | function decodeURIComponent(encodedURIComponent: string): string +// | default +// | delete +// | do +// | else +// | function encodeURI(uri: string): string +// | function encodeURIComponent(uriComponent: string | number | boolean): string +// | enum +// | interface Error +// | var Error: ErrorConstructor +// | function eval(x: string): any +// | interface EvalError +// | var EvalError: EvalErrorConstructor +// | export +// | extends +// | false +// | finally +// | interface Float32Array +// | var Float32Array: Float32ArrayConstructor +// | interface Float64Array +// | var Float64Array: Float64ArrayConstructor +// | for +// | function +// | interface Function +// | var Function: FunctionConstructor +// | module globalThis +// | if +// | implements +// | import +// | in +// | infer +// | var Infinity: number +// | instanceof +// | interface Int8Array +// | var Int8Array: Int8ArrayConstructor +// | interface Int16Array +// | var Int16Array: Int16ArrayConstructor +// | interface Int32Array +// | var Int32Array: Int32ArrayConstructor +// | interface +// | namespace Intl +// | function isFinite(number: number): boolean +// | function isNaN(number: number): boolean +// | interface JSON +// | var JSON: JSON +// | keyof +// | let +// | interface Math +// | var Math: Math +// | module +// | namespace +// | var NaN: number +// | never +// | new +// | null +// | number +// | interface Number +// | var Number: NumberConstructor +// | object +// | interface Object +// | var Object: ObjectConstructor +// | package +// | function parseFloat(string: string): number +// | function parseInt(string: string, radix?: number): number +// | interface RangeError +// | var RangeError: RangeErrorConstructor +// | readonly +// | interface ReferenceError +// | var ReferenceError: ReferenceErrorConstructor +// | interface RegExp +// | var RegExp: RegExpConstructor +// | return +// | satisfies +// | string +// | interface String +// | var String: StringConstructor +// | super +// | switch +// | symbol +// | interface SyntaxError +// | var SyntaxError: SyntaxErrorConstructor +// | this +// | throw +// | true +// | try +// | type +// | interface TypeError +// | var TypeError: TypeErrorConstructor +// | typeof +// | interface Uint8Array +// | var Uint8Array: Uint8ArrayConstructor +// | interface Uint8ClampedArray +// | var Uint8ClampedArray: Uint8ClampedArrayConstructor +// | interface Uint16Array +// | var Uint16Array: Uint16ArrayConstructor +// | interface Uint32Array +// | var Uint32Array: Uint32ArrayConstructor +// | var undefined +// | unique +// | unknown +// | interface URIError +// | var URIError: URIErrorConstructor +// | using +// | var +// | void +// | while +// | with +// | yield +// | function escape(string: string): string +// | function unescape(string: string): string +// | ---------------------------------------------------------------------- +// ; +// const x3 = func("a", ) +// ^ +// | ---------------------------------------------------------------------- +// | class C +// | function F(pred: x): any +// | function func(a: string, b: number): { +// | a: string; +// | b: number; +// | } +// | const x1: { +// | a: string; +// | b: number; +// | } +// | const x2: any +// | const x4: { +// | a: string; +// | b: number; +// | } +// | const x5: { +// | a: string; +// | b: number; +// | } +// | const x6: any +// | const x7: any +// | function x8(): void +// | function x9(a: number): any +// | const x10: [] +// | const x11: [] +// | let x12: any +// | const x13: string +// | abstract +// | any +// | interface Array +// | var Array: ArrayConstructor +// | interface ArrayBuffer +// | var ArrayBuffer: ArrayBufferConstructor +// | as +// | asserts +// | async +// | await +// | bigint +// | boolean +// | interface Boolean +// | var Boolean: BooleanConstructor +// | break +// | case +// | catch +// | class +// | const +// | continue +// | interface DataView +// | var DataView: DataViewConstructor +// | interface Date +// | var Date: DateConstructor +// | debugger +// | declare +// | function decodeURI(encodedURI: string): string +// | function decodeURIComponent(encodedURIComponent: string): string +// | default +// | delete +// | do +// | else +// | function encodeURI(uri: string): string +// | function encodeURIComponent(uriComponent: string | number | boolean): string +// | enum +// | interface Error +// | var Error: ErrorConstructor +// | function eval(x: string): any +// | interface EvalError +// | var EvalError: EvalErrorConstructor +// | export +// | extends +// | false +// | finally +// | interface Float32Array +// | var Float32Array: Float32ArrayConstructor +// | interface Float64Array +// | var Float64Array: Float64ArrayConstructor +// | for +// | function +// | interface Function +// | var Function: FunctionConstructor +// | module globalThis +// | if +// | implements +// | import +// | in +// | infer +// | var Infinity: number +// | instanceof +// | interface Int8Array +// | var Int8Array: Int8ArrayConstructor +// | interface Int16Array +// | var Int16Array: Int16ArrayConstructor +// | interface Int32Array +// | var Int32Array: Int32ArrayConstructor +// | interface +// | namespace Intl +// | function isFinite(number: number): boolean +// | function isNaN(number: number): boolean +// | interface JSON +// | var JSON: JSON +// | keyof +// | let +// | interface Math +// | var Math: Math +// | module +// | namespace +// | var NaN: number +// | never +// | new +// | null +// | number +// | interface Number +// | var Number: NumberConstructor +// | object +// | interface Object +// | var Object: ObjectConstructor +// | package +// | function parseFloat(string: string): number +// | function parseInt(string: string, radix?: number): number +// | interface RangeError +// | var RangeError: RangeErrorConstructor +// | readonly +// | interface ReferenceError +// | var ReferenceError: ReferenceErrorConstructor +// | interface RegExp +// | var RegExp: RegExpConstructor +// | return +// | satisfies +// | string +// | interface String +// | var String: StringConstructor +// | super +// | switch +// | symbol +// | interface SyntaxError +// | var SyntaxError: SyntaxErrorConstructor +// | this +// | throw +// | true +// | try +// | type +// | interface TypeError +// | var TypeError: TypeErrorConstructor +// | typeof +// | interface Uint8Array +// | var Uint8Array: Uint8ArrayConstructor +// | interface Uint8ClampedArray +// | var Uint8ClampedArray: Uint8ClampedArrayConstructor +// | interface Uint16Array +// | var Uint16Array: Uint16ArrayConstructor +// | interface Uint32Array +// | var Uint32Array: Uint32ArrayConstructor +// | var undefined +// | unique +// | unknown +// | interface URIError +// | var URIError: URIErrorConstructor +// | using +// | var +// | void +// | while +// | with +// | yield +// | function escape(string: string): string +// | function unescape(string: string): string +// | ---------------------------------------------------------------------- +// const x4 = func +// (a, b) +// ^ +// | ---------------------------------------------------------------------- +// | class C +// | function F(pred: x): any +// | function func(a: string, b: number): { +// | a: string; +// | b: number; +// | } +// | const x1: { +// | a: string; +// | b: number; +// | } +// | const x2: any +// | const x3: { +// | a: string; +// | b: number; +// | } +// | const x5: { +// | a: string; +// | b: number; +// | } +// | const x6: any +// | const x7: any +// | function x8(): void +// | function x9(a: number): any +// | const x10: [] +// | const x11: [] +// | let x12: any +// | const x13: string +// | abstract +// | any +// | interface Array +// | var Array: ArrayConstructor +// | interface ArrayBuffer +// | var ArrayBuffer: ArrayBufferConstructor +// | as +// | asserts +// | async +// | await +// | bigint +// | boolean +// | interface Boolean +// | var Boolean: BooleanConstructor +// | break +// | case +// | catch +// | class +// | const +// | continue +// | interface DataView +// | var DataView: DataViewConstructor +// | interface Date +// | var Date: DateConstructor +// | debugger +// | declare +// | function decodeURI(encodedURI: string): string +// | function decodeURIComponent(encodedURIComponent: string): string +// | default +// | delete +// | do +// | else +// | function encodeURI(uri: string): string +// | function encodeURIComponent(uriComponent: string | number | boolean): string +// | enum +// | interface Error +// | var Error: ErrorConstructor +// | function eval(x: string): any +// | interface EvalError +// | var EvalError: EvalErrorConstructor +// | export +// | extends +// | false +// | finally +// | interface Float32Array +// | var Float32Array: Float32ArrayConstructor +// | interface Float64Array +// | var Float64Array: Float64ArrayConstructor +// | for +// | function +// | interface Function +// | var Function: FunctionConstructor +// | module globalThis +// | if +// | implements +// | import +// | in +// | infer +// | var Infinity: number +// | instanceof +// | interface Int8Array +// | var Int8Array: Int8ArrayConstructor +// | interface Int16Array +// | var Int16Array: Int16ArrayConstructor +// | interface Int32Array +// | var Int32Array: Int32ArrayConstructor +// | interface +// | namespace Intl +// | function isFinite(number: number): boolean +// | function isNaN(number: number): boolean +// | interface JSON +// | var JSON: JSON +// | keyof +// | let +// | interface Math +// | var Math: Math +// | module +// | namespace +// | var NaN: number +// | never +// | new +// | null +// | number +// | interface Number +// | var Number: NumberConstructor +// | object +// | interface Object +// | var Object: ObjectConstructor +// | package +// | function parseFloat(string: string): number +// | function parseInt(string: string, radix?: number): number +// | interface RangeError +// | var RangeError: RangeErrorConstructor +// | readonly +// | interface ReferenceError +// | var ReferenceError: ReferenceErrorConstructor +// | interface RegExp +// | var RegExp: RegExpConstructor +// | return +// | satisfies +// | string +// | interface String +// | var String: StringConstructor +// | super +// | switch +// | symbol +// | interface SyntaxError +// | var SyntaxError: SyntaxErrorConstructor +// | this +// | throw +// | true +// | try +// | type +// | interface TypeError +// | var TypeError: TypeErrorConstructor +// | typeof +// | interface Uint8Array +// | var Uint8Array: Uint8ArrayConstructor +// | interface Uint8ClampedArray +// | var Uint8ClampedArray: Uint8ClampedArrayConstructor +// | interface Uint16Array +// | var Uint16Array: Uint16ArrayConstructor +// | interface Uint32Array +// | var Uint32Array: Uint32ArrayConstructor +// | var undefined +// | unique +// | unknown +// | interface URIError +// | var URIError: URIErrorConstructor +// | using +// | var +// | void +// | while +// | with +// | yield +// | function escape(string: string): string +// | function unescape(string: string): string +// | ---------------------------------------------------------------------- +// const x5 = func((a, )); +// ^ +// | ---------------------------------------------------------------------- +// | class C +// | function F(pred: x): any +// | function func(a: string, b: number): { +// | a: string; +// | b: number; +// | } +// | const x1: { +// | a: string; +// | b: number; +// | } +// | const x2: any +// | const x3: { +// | a: string; +// | b: number; +// | } +// | const x4: { +// | a: string; +// | b: number; +// | } +// | const x6: any +// | const x7: any +// | function x8(): void +// | function x9(a: number): any +// | const x10: [] +// | const x11: [] +// | let x12: any +// | const x13: string +// | abstract +// | any +// | interface Array +// | var Array: ArrayConstructor +// | interface ArrayBuffer +// | var ArrayBuffer: ArrayBufferConstructor +// | as +// | asserts +// | async +// | await +// | bigint +// | boolean +// | interface Boolean +// | var Boolean: BooleanConstructor +// | break +// | case +// | catch +// | class +// | const +// | continue +// | interface DataView +// | var DataView: DataViewConstructor +// | interface Date +// | var Date: DateConstructor +// | debugger +// | declare +// | function decodeURI(encodedURI: string): string +// | function decodeURIComponent(encodedURIComponent: string): string +// | default +// | delete +// | do +// | else +// | function encodeURI(uri: string): string +// | function encodeURIComponent(uriComponent: string | number | boolean): string +// | enum +// | interface Error +// | var Error: ErrorConstructor +// | function eval(x: string): any +// | interface EvalError +// | var EvalError: EvalErrorConstructor +// | export +// | extends +// | false +// | finally +// | interface Float32Array +// | var Float32Array: Float32ArrayConstructor +// | interface Float64Array +// | var Float64Array: Float64ArrayConstructor +// | for +// | function +// | interface Function +// | var Function: FunctionConstructor +// | module globalThis +// | if +// | implements +// | import +// | in +// | infer +// | var Infinity: number +// | instanceof +// | interface Int8Array +// | var Int8Array: Int8ArrayConstructor +// | interface Int16Array +// | var Int16Array: Int16ArrayConstructor +// | interface Int32Array +// | var Int32Array: Int32ArrayConstructor +// | interface +// | namespace Intl +// | function isFinite(number: number): boolean +// | function isNaN(number: number): boolean +// | interface JSON +// | var JSON: JSON +// | keyof +// | let +// | interface Math +// | var Math: Math +// | module +// | namespace +// | var NaN: number +// | never +// | new +// | null +// | number +// | interface Number +// | var Number: NumberConstructor +// | object +// | interface Object +// | var Object: ObjectConstructor +// | package +// | function parseFloat(string: string): number +// | function parseInt(string: string, radix?: number): number +// | interface RangeError +// | var RangeError: RangeErrorConstructor +// | readonly +// | interface ReferenceError +// | var ReferenceError: ReferenceErrorConstructor +// | interface RegExp +// | var RegExp: RegExpConstructor +// | return +// | satisfies +// | string +// | interface String +// | var String: StringConstructor +// | super +// | switch +// | symbol +// | interface SyntaxError +// | var SyntaxError: SyntaxErrorConstructor +// | this +// | throw +// | true +// | try +// | type +// | interface TypeError +// | var TypeError: TypeErrorConstructor +// | typeof +// | interface Uint8Array +// | var Uint8Array: Uint8ArrayConstructor +// | interface Uint8ClampedArray +// | var Uint8ClampedArray: Uint8ClampedArrayConstructor +// | interface Uint16Array +// | var Uint16Array: Uint16ArrayConstructor +// | interface Uint32Array +// | var Uint32Array: Uint32ArrayConstructor +// | var undefined +// | unique +// | unknown +// | interface URIError +// | var URIError: URIErrorConstructor +// | using +// | var +// | void +// | while +// | with +// | yield +// | function escape(string: string): string +// | function unescape(string: string): string +// | ---------------------------------------------------------------------- +// const x6 = (a) +// ^ +// | ---------------------------------------------------------------------- +// | class C +// | function F(pred: x): any +// | function func(a: string, b: number): { +// | a: string; +// | b: number; +// | } +// | const x1: { +// | a: string; +// | b: number; +// | } +// | const x2: any +// | const x3: { +// | a: string; +// | b: number; +// | } +// | const x4: { +// | a: string; +// | b: number; +// | } +// | const x5: { +// | a: string; +// | b: number; +// | } +// | const x7: any +// | function x8(): void +// | function x9(a: number): any +// | const x10: [] +// | const x11: [] +// | let x12: any +// | const x13: string +// | abstract +// | any +// | interface Array +// | var Array: ArrayConstructor +// | interface ArrayBuffer +// | var ArrayBuffer: ArrayBufferConstructor +// | as +// | asserts +// | async +// | await +// | bigint +// | boolean +// | interface Boolean +// | var Boolean: BooleanConstructor +// | break +// | case +// | catch +// | class +// | const +// | continue +// | interface DataView +// | var DataView: DataViewConstructor +// | interface Date +// | var Date: DateConstructor +// | debugger +// | declare +// | function decodeURI(encodedURI: string): string +// | function decodeURIComponent(encodedURIComponent: string): string +// | default +// | delete +// | do +// | else +// | function encodeURI(uri: string): string +// | function encodeURIComponent(uriComponent: string | number | boolean): string +// | enum +// | interface Error +// | var Error: ErrorConstructor +// | function eval(x: string): any +// | interface EvalError +// | var EvalError: EvalErrorConstructor +// | export +// | extends +// | false +// | finally +// | interface Float32Array +// | var Float32Array: Float32ArrayConstructor +// | interface Float64Array +// | var Float64Array: Float64ArrayConstructor +// | for +// | function +// | interface Function +// | var Function: FunctionConstructor +// | module globalThis +// | if +// | implements +// | import +// | in +// | infer +// | var Infinity: number +// | instanceof +// | interface Int8Array +// | var Int8Array: Int8ArrayConstructor +// | interface Int16Array +// | var Int16Array: Int16ArrayConstructor +// | interface Int32Array +// | var Int32Array: Int32ArrayConstructor +// | interface +// | namespace Intl +// | function isFinite(number: number): boolean +// | function isNaN(number: number): boolean +// | interface JSON +// | var JSON: JSON +// | keyof +// | let +// | interface Math +// | var Math: Math +// | module +// | namespace +// | var NaN: number +// | never +// | new +// | null +// | number +// | interface Number +// | var Number: NumberConstructor +// | object +// | interface Object +// | var Object: ObjectConstructor +// | package +// | function parseFloat(string: string): number +// | function parseInt(string: string, radix?: number): number +// | interface RangeError +// | var RangeError: RangeErrorConstructor +// | readonly +// | interface ReferenceError +// | var ReferenceError: ReferenceErrorConstructor +// | interface RegExp +// | var RegExp: RegExpConstructor +// | return +// | satisfies +// | string +// | interface String +// | var String: StringConstructor +// | super +// | switch +// | symbol +// | interface SyntaxError +// | var SyntaxError: SyntaxErrorConstructor +// | this +// | throw +// | true +// | try +// | type +// | interface TypeError +// | var TypeError: TypeErrorConstructor +// | typeof +// | interface Uint8Array +// | var Uint8Array: Uint8ArrayConstructor +// | interface Uint8ClampedArray +// | var Uint8ClampedArray: Uint8ClampedArrayConstructor +// | interface Uint16Array +// | var Uint16Array: Uint16ArrayConstructor +// | interface Uint32Array +// | var Uint32Array: Uint32ArrayConstructor +// | var undefined +// | unique +// | unknown +// | interface URIError +// | var URIError: URIErrorConstructor +// | using +// | var +// | void +// | while +// | with +// | yield +// | function escape(string: string): string +// | function unescape(string: string): string +// | ---------------------------------------------------------------------- +// const x7 = (a, x) +// ^ +// | ---------------------------------------------------------------------- +// | class C +// | function F(pred: x): any +// | function func(a: string, b: number): { +// | a: string; +// | b: number; +// | } +// | const x1: { +// | a: string; +// | b: number; +// | } +// | const x2: any +// | const x3: { +// | a: string; +// | b: number; +// | } +// | const x4: { +// | a: string; +// | b: number; +// | } +// | const x5: { +// | a: string; +// | b: number; +// | } +// | const x6: any +// | function x8(): void +// | function x9(a: number): any +// | const x10: [] +// | const x11: [] +// | let x12: any +// | const x13: string +// | abstract +// | any +// | interface Array +// | var Array: ArrayConstructor +// | interface ArrayBuffer +// | var ArrayBuffer: ArrayBufferConstructor +// | as +// | asserts +// | async +// | await +// | bigint +// | boolean +// | interface Boolean +// | var Boolean: BooleanConstructor +// | break +// | case +// | catch +// | class +// | const +// | continue +// | interface DataView +// | var DataView: DataViewConstructor +// | interface Date +// | var Date: DateConstructor +// | debugger +// | declare +// | function decodeURI(encodedURI: string): string +// | function decodeURIComponent(encodedURIComponent: string): string +// | default +// | delete +// | do +// | else +// | function encodeURI(uri: string): string +// | function encodeURIComponent(uriComponent: string | number | boolean): string +// | enum +// | interface Error +// | var Error: ErrorConstructor +// | function eval(x: string): any +// | interface EvalError +// | var EvalError: EvalErrorConstructor +// | export +// | extends +// | false +// | finally +// | interface Float32Array +// | var Float32Array: Float32ArrayConstructor +// | interface Float64Array +// | var Float64Array: Float64ArrayConstructor +// | for +// | function +// | interface Function +// | var Function: FunctionConstructor +// | module globalThis +// | if +// | implements +// | import +// | in +// | infer +// | var Infinity: number +// | instanceof +// | interface Int8Array +// | var Int8Array: Int8ArrayConstructor +// | interface Int16Array +// | var Int16Array: Int16ArrayConstructor +// | interface Int32Array +// | var Int32Array: Int32ArrayConstructor +// | interface +// | namespace Intl +// | function isFinite(number: number): boolean +// | function isNaN(number: number): boolean +// | interface JSON +// | var JSON: JSON +// | keyof +// | let +// | interface Math +// | var Math: Math +// | module +// | namespace +// | var NaN: number +// | never +// | new +// | null +// | number +// | interface Number +// | var Number: NumberConstructor +// | object +// | interface Object +// | var Object: ObjectConstructor +// | package +// | function parseFloat(string: string): number +// | function parseInt(string: string, radix?: number): number +// | interface RangeError +// | var RangeError: RangeErrorConstructor +// | readonly +// | interface ReferenceError +// | var ReferenceError: ReferenceErrorConstructor +// | interface RegExp +// | var RegExp: RegExpConstructor +// | return +// | satisfies +// | string +// | interface String +// | var String: StringConstructor +// | super +// | switch +// | symbol +// | interface SyntaxError +// | var SyntaxError: SyntaxErrorConstructor +// | this +// | throw +// | true +// | try +// | type +// | interface TypeError +// | var TypeError: TypeErrorConstructor +// | typeof +// | interface Uint8Array +// | var Uint8Array: Uint8ArrayConstructor +// | interface Uint8ClampedArray +// | var Uint8ClampedArray: Uint8ClampedArrayConstructor +// | interface Uint16Array +// | var Uint16Array: Uint16ArrayConstructor +// | interface Uint32Array +// | var Uint32Array: Uint32ArrayConstructor +// | var undefined +// | unique +// | unknown +// | interface URIError +// | var URIError: URIErrorConstructor +// | using +// | var +// | void +// | while +// | with +// | yield +// | function escape(string: string): string +// | function unescape(string: string): string +// | ---------------------------------------------------------------------- +// function x8() {} +// ^ +// | ---------------------------------------------------------------------- +// | No completions at /*8*/. +// | ---------------------------------------------------------------------- +// function x9(a: number, ) +// ^ +// | ---------------------------------------------------------------------- +// | No completions at /*9*/. +// | ---------------------------------------------------------------------- +// const x10: [] +// ^ +// | ---------------------------------------------------------------------- +// | class C +// | function F(pred: x): any +// | function func(a: string, b: number): { +// | a: string; +// | b: number; +// | } +// | const x1: { +// | a: string; +// | b: number; +// | } +// | const x2: any +// | const x3: { +// | a: string; +// | b: number; +// | } +// | const x4: { +// | a: string; +// | b: number; +// | } +// | const x5: { +// | a: string; +// | b: number; +// | } +// | const x6: any +// | const x7: any +// | function x8(): void +// | function x9(a: number): any +// | const x11: [] +// | let x12: any +// | const x13: string +// | abstract +// | any +// | interface Array +// | var Array: ArrayConstructor +// | interface ArrayBuffer +// | var ArrayBuffer: ArrayBufferConstructor +// | as +// | asserts +// | async +// | await +// | bigint +// | boolean +// | interface Boolean +// | var Boolean: BooleanConstructor +// | break +// | case +// | catch +// | class +// | const +// | continue +// | interface DataView +// | var DataView: DataViewConstructor +// | interface Date +// | var Date: DateConstructor +// | debugger +// | declare +// | function decodeURI(encodedURI: string): string +// | function decodeURIComponent(encodedURIComponent: string): string +// | default +// | delete +// | do +// | else +// | function encodeURI(uri: string): string +// | function encodeURIComponent(uriComponent: string | number | boolean): string +// | enum +// | interface Error +// | var Error: ErrorConstructor +// | function eval(x: string): any +// | interface EvalError +// | var EvalError: EvalErrorConstructor +// | export +// | extends +// | false +// | finally +// | interface Float32Array +// | var Float32Array: Float32ArrayConstructor +// | interface Float64Array +// | var Float64Array: Float64ArrayConstructor +// | for +// | function +// | interface Function +// | var Function: FunctionConstructor +// | module globalThis +// | if +// | implements +// | import +// | in +// | infer +// | var Infinity: number +// | instanceof +// | interface Int8Array +// | var Int8Array: Int8ArrayConstructor +// | interface Int16Array +// | var Int16Array: Int16ArrayConstructor +// | interface Int32Array +// | var Int32Array: Int32ArrayConstructor +// | interface +// | namespace Intl +// | function isFinite(number: number): boolean +// | function isNaN(number: number): boolean +// | interface JSON +// | var JSON: JSON +// | keyof +// | let +// | interface Math +// | var Math: Math +// | module +// | namespace +// | var NaN: number +// | never +// | new +// | null +// | number +// | interface Number +// | var Number: NumberConstructor +// | object +// | interface Object +// | var Object: ObjectConstructor +// | package +// | function parseFloat(string: string): number +// | function parseInt(string: string, radix?: number): number +// | interface RangeError +// | var RangeError: RangeErrorConstructor +// | readonly +// | interface ReferenceError +// | var ReferenceError: ReferenceErrorConstructor +// | interface RegExp +// | var RegExp: RegExpConstructor +// | return +// | satisfies +// | string +// | interface String +// | var String: StringConstructor +// | super +// | switch +// | symbol +// | interface SyntaxError +// | var SyntaxError: SyntaxErrorConstructor +// | this +// | throw +// | true +// | try +// | type +// | interface TypeError +// | var TypeError: TypeErrorConstructor +// | typeof +// | interface Uint8Array +// | var Uint8Array: Uint8ArrayConstructor +// | interface Uint8ClampedArray +// | var Uint8ClampedArray: Uint8ClampedArrayConstructor +// | interface Uint16Array +// | var Uint16Array: Uint16ArrayConstructor +// | interface Uint32Array +// | var Uint32Array: Uint32ArrayConstructor +// | var undefined +// | unique +// | unknown +// | interface URIError +// | var URIError: URIErrorConstructor +// | using +// | var +// | void +// | while +// | with +// | yield +// | function escape(string: string): string +// | function unescape(string: string): string +// | ---------------------------------------------------------------------- +// const x11: [ ] +// let x12; +// x12 = +// ^ +// | ---------------------------------------------------------------------- +// | class C +// | function F(pred: x): any +// | function func(a: string, b: number): { +// | a: string; +// | b: number; +// | } +// | const x1: { +// | a: string; +// | b: number; +// | } +// | const x2: any +// | const x3: { +// | a: string; +// | b: number; +// | } +// | const x4: { +// | a: string; +// | b: number; +// | } +// | const x5: { +// | a: string; +// | b: number; +// | } +// | const x6: any +// | const x7: any +// | function x8(): void +// | function x9(a: number): any +// | const x10: [] +// | const x11: [] +// | let x12: any +// | const x13: string +// | abstract +// | any +// | interface Array +// | var Array: ArrayConstructor +// | interface ArrayBuffer +// | var ArrayBuffer: ArrayBufferConstructor +// | as +// | asserts +// | async +// | await +// | bigint +// | boolean +// | interface Boolean +// | var Boolean: BooleanConstructor +// | break +// | case +// | catch +// | class +// | const +// | continue +// | interface DataView +// | var DataView: DataViewConstructor +// | interface Date +// | var Date: DateConstructor +// | debugger +// | declare +// | function decodeURI(encodedURI: string): string +// | function decodeURIComponent(encodedURIComponent: string): string +// | default +// | delete +// | do +// | else +// | function encodeURI(uri: string): string +// | function encodeURIComponent(uriComponent: string | number | boolean): string +// | enum +// | interface Error +// | var Error: ErrorConstructor +// | function eval(x: string): any +// | interface EvalError +// | var EvalError: EvalErrorConstructor +// | export +// | extends +// | false +// | finally +// | interface Float32Array +// | var Float32Array: Float32ArrayConstructor +// | interface Float64Array +// | var Float64Array: Float64ArrayConstructor +// | for +// | function +// | interface Function +// | var Function: FunctionConstructor +// | module globalThis +// | if +// | implements +// | import +// | in +// | infer +// | var Infinity: number +// | instanceof +// | interface Int8Array +// | var Int8Array: Int8ArrayConstructor +// | interface Int16Array +// | var Int16Array: Int16ArrayConstructor +// | interface Int32Array +// | var Int32Array: Int32ArrayConstructor +// | interface +// | namespace Intl +// | function isFinite(number: number): boolean +// | function isNaN(number: number): boolean +// | interface JSON +// | var JSON: JSON +// | keyof +// | let +// | interface Math +// | var Math: Math +// | module +// | namespace +// | var NaN: number +// | never +// | new +// | null +// | number +// | interface Number +// | var Number: NumberConstructor +// | object +// | interface Object +// | var Object: ObjectConstructor +// | package +// | function parseFloat(string: string): number +// | function parseInt(string: string, radix?: number): number +// | interface RangeError +// | var RangeError: RangeErrorConstructor +// | readonly +// | interface ReferenceError +// | var ReferenceError: ReferenceErrorConstructor +// | interface RegExp +// | var RegExp: RegExpConstructor +// | return +// | satisfies +// | string +// | interface String +// | var String: StringConstructor +// | super +// | switch +// | symbol +// | interface SyntaxError +// | var SyntaxError: SyntaxErrorConstructor +// | this +// | throw +// | true +// | try +// | type +// | interface TypeError +// | var TypeError: TypeErrorConstructor +// | typeof +// | interface Uint8Array +// | var Uint8Array: Uint8ArrayConstructor +// | interface Uint8ClampedArray +// | var Uint8ClampedArray: Uint8ClampedArrayConstructor +// | interface Uint16Array +// | var Uint16Array: Uint16ArrayConstructor +// | interface Uint32Array +// | var Uint32Array: Uint32ArrayConstructor +// | var undefined +// | unique +// | unknown +// | interface URIError +// | var URIError: URIErrorConstructor +// | using +// | var +// | void +// | while +// | with +// | yield +// | function escape(string: string): string +// | function unescape(string: string): string +// | ---------------------------------------------------------------------- +// const x13 = `hello, ${}` +// ^ +// | ---------------------------------------------------------------------- +// | class C +// | function F(pred: x): any +// | function func(a: string, b: number): { +// | a: string; +// | b: number; +// | } +// | const x1: { +// | a: string; +// | b: number; +// | } +// | const x2: any +// | const x3: { +// | a: string; +// | b: number; +// | } +// | const x4: { +// | a: string; +// | b: number; +// | } +// | const x5: { +// | a: string; +// | b: number; +// | } +// | const x6: any +// | const x7: any +// | function x8(): void +// | function x9(a: number): any +// | const x10: [] +// | const x11: [] +// | let x12: any +// | abstract +// | any +// | interface Array +// | var Array: ArrayConstructor +// | interface ArrayBuffer +// | var ArrayBuffer: ArrayBufferConstructor +// | as +// | asserts +// | async +// | await +// | bigint +// | boolean +// | interface Boolean +// | var Boolean: BooleanConstructor +// | break +// | case +// | catch +// | class +// | const +// | continue +// | interface DataView +// | var DataView: DataViewConstructor +// | interface Date +// | var Date: DateConstructor +// | debugger +// | declare +// | function decodeURI(encodedURI: string): string +// | function decodeURIComponent(encodedURIComponent: string): string +// | default +// | delete +// | do +// | else +// | function encodeURI(uri: string): string +// | function encodeURIComponent(uriComponent: string | number | boolean): string +// | enum +// | interface Error +// | var Error: ErrorConstructor +// | function eval(x: string): any +// | interface EvalError +// | var EvalError: EvalErrorConstructor +// | export +// | extends +// | false +// | finally +// | interface Float32Array +// | var Float32Array: Float32ArrayConstructor +// | interface Float64Array +// | var Float64Array: Float64ArrayConstructor +// | for +// | function +// | interface Function +// | var Function: FunctionConstructor +// | module globalThis +// | if +// | implements +// | import +// | in +// | infer +// | var Infinity: number +// | instanceof +// | interface Int8Array +// | var Int8Array: Int8ArrayConstructor +// | interface Int16Array +// | var Int16Array: Int16ArrayConstructor +// | interface Int32Array +// | var Int32Array: Int32ArrayConstructor +// | interface +// | namespace Intl +// | function isFinite(number: number): boolean +// | function isNaN(number: number): boolean +// | interface JSON +// | var JSON: JSON +// | keyof +// | let +// | interface Math +// | var Math: Math +// | module +// | namespace +// | var NaN: number +// | never +// | new +// | null +// | number +// | interface Number +// | var Number: NumberConstructor +// | object +// | interface Object +// | var Object: ObjectConstructor +// | package +// | function parseFloat(string: string): number +// | function parseInt(string: string, radix?: number): number +// | interface RangeError +// | var RangeError: RangeErrorConstructor +// | readonly +// | interface ReferenceError +// | var ReferenceError: ReferenceErrorConstructor +// | interface RegExp +// | var RegExp: RegExpConstructor +// | return +// | satisfies +// | string +// | interface String +// | var String: StringConstructor +// | super +// | switch +// | symbol +// | interface SyntaxError +// | var SyntaxError: SyntaxErrorConstructor +// | this +// | throw +// | true +// | try +// | type +// | interface TypeError +// | var TypeError: TypeErrorConstructor +// | typeof +// | interface Uint8Array +// | var Uint8Array: Uint8ArrayConstructor +// | interface Uint8ClampedArray +// | var Uint8ClampedArray: Uint8ClampedArrayConstructor +// | interface Uint16Array +// | var Uint16Array: Uint16ArrayConstructor +// | interface Uint32Array +// | var Uint32Array: Uint32ArrayConstructor +// | var undefined +// | unique +// | unknown +// | interface URIError +// | var URIError: URIErrorConstructor +// | using +// | var +// | void +// | while +// | with +// | yield +// | function escape(string: string): string +// | function unescape(string: string): string +// | ---------------------------------------------------------------------- +// interface I { +// []: T; +// ^ +// | ---------------------------------------------------------------------- +// | class C +// | function F(pred: x): any +// | function func(a: string, b: number): { +// | a: string; +// | b: number; +// | } +// | const x1: { +// | a: string; +// | b: number; +// | } +// | const x2: any +// | const x3: { +// | a: string; +// | b: number; +// | } +// | const x4: { +// | a: string; +// | b: number; +// | } +// | const x5: { +// | a: string; +// | b: number; +// | } +// | const x6: any +// | const x7: any +// | function x8(): void +// | function x9(a: number): any +// | const x10: [] +// | const x11: [] +// | let x12: any +// | const x13: string +// | abstract +// | any +// | interface Array +// | var Array: ArrayConstructor +// | interface ArrayBuffer +// | var ArrayBuffer: ArrayBufferConstructor +// | as +// | asserts +// | async +// | await +// | bigint +// | boolean +// | interface Boolean +// | var Boolean: BooleanConstructor +// | break +// | case +// | catch +// | class +// | const +// | continue +// | interface DataView +// | var DataView: DataViewConstructor +// | interface Date +// | var Date: DateConstructor +// | debugger +// | declare +// | function decodeURI(encodedURI: string): string +// | function decodeURIComponent(encodedURIComponent: string): string +// | default +// | delete +// | do +// | else +// | function encodeURI(uri: string): string +// | function encodeURIComponent(uriComponent: string | number | boolean): string +// | enum +// | interface Error +// | var Error: ErrorConstructor +// | function eval(x: string): any +// | interface EvalError +// | var EvalError: EvalErrorConstructor +// | export +// | extends +// | false +// | finally +// | interface Float32Array +// | var Float32Array: Float32ArrayConstructor +// | interface Float64Array +// | var Float64Array: Float64ArrayConstructor +// | for +// | function +// | interface Function +// | var Function: FunctionConstructor +// | module globalThis +// | if +// | implements +// | import +// | in +// | infer +// | var Infinity: number +// | instanceof +// | interface Int8Array +// | var Int8Array: Int8ArrayConstructor +// | interface Int16Array +// | var Int16Array: Int16ArrayConstructor +// | interface Int32Array +// | var Int32Array: Int32ArrayConstructor +// | interface +// | namespace Intl +// | function isFinite(number: number): boolean +// | function isNaN(number: number): boolean +// | interface JSON +// | var JSON: JSON +// | keyof +// | let +// | interface Math +// | var Math: Math +// | module +// | namespace +// | var NaN: number +// | never +// | new +// | null +// | number +// | interface Number +// | var Number: NumberConstructor +// | object +// | interface Object +// | var Object: ObjectConstructor +// | package +// | function parseFloat(string: string): number +// | function parseInt(string: string, radix?: number): number +// | interface RangeError +// | var RangeError: RangeErrorConstructor +// | readonly +// | interface ReferenceError +// | var ReferenceError: ReferenceErrorConstructor +// | interface RegExp +// | var RegExp: RegExpConstructor +// | return +// | satisfies +// | string +// | interface String +// | var String: StringConstructor +// | super +// | switch +// | symbol +// | interface SyntaxError +// | var SyntaxError: SyntaxErrorConstructor +// | this +// | throw +// | true +// | try +// | type +// | interface TypeError +// | var TypeError: TypeErrorConstructor +// | typeof +// | interface Uint8Array +// | var Uint8Array: Uint8ArrayConstructor +// | interface Uint8ClampedArray +// | var Uint8ClampedArray: Uint8ClampedArrayConstructor +// | interface Uint16Array +// | var Uint16Array: Uint16ArrayConstructor +// | interface Uint32Array +// | var Uint32Array: Uint32ArrayConstructor +// | var undefined +// | unique +// | unknown +// | interface URIError +// | var URIError: URIErrorConstructor +// | using +// | var +// | void +// | while +// | with +// | yield +// | function escape(string: string): string +// | function unescape(string: string): string +// | ---------------------------------------------------------------------- +// } +// class C { +// []: string; +// ^ +// | ---------------------------------------------------------------------- +// | class C +// | function F(pred: x): any +// | function func(a: string, b: number): { +// | a: string; +// | b: number; +// | } +// | const x1: { +// | a: string; +// | b: number; +// | } +// | const x2: any +// | const x3: { +// | a: string; +// | b: number; +// | } +// | const x4: { +// | a: string; +// | b: number; +// | } +// | const x5: { +// | a: string; +// | b: number; +// | } +// | const x6: any +// | const x7: any +// | function x8(): void +// | function x9(a: number): any +// | const x10: [] +// | const x11: [] +// | let x12: any +// | const x13: string +// | abstract +// | any +// | interface Array +// | var Array: ArrayConstructor +// | interface ArrayBuffer +// | var ArrayBuffer: ArrayBufferConstructor +// | as +// | asserts +// | async +// | await +// | bigint +// | boolean +// | interface Boolean +// | var Boolean: BooleanConstructor +// | break +// | case +// | catch +// | class +// | const +// | continue +// | interface DataView +// | var DataView: DataViewConstructor +// | interface Date +// | var Date: DateConstructor +// | debugger +// | declare +// | function decodeURI(encodedURI: string): string +// | function decodeURIComponent(encodedURIComponent: string): string +// | default +// | delete +// | do +// | else +// | function encodeURI(uri: string): string +// | function encodeURIComponent(uriComponent: string | number | boolean): string +// | enum +// | interface Error +// | var Error: ErrorConstructor +// | function eval(x: string): any +// | interface EvalError +// | var EvalError: EvalErrorConstructor +// | export +// | extends +// | false +// | finally +// | interface Float32Array +// | var Float32Array: Float32ArrayConstructor +// | interface Float64Array +// | var Float64Array: Float64ArrayConstructor +// | for +// | function +// | interface Function +// | var Function: FunctionConstructor +// | module globalThis +// | if +// | implements +// | import +// | in +// | infer +// | var Infinity: number +// | instanceof +// | interface Int8Array +// | var Int8Array: Int8ArrayConstructor +// | interface Int16Array +// | var Int16Array: Int16ArrayConstructor +// | interface Int32Array +// | var Int32Array: Int32ArrayConstructor +// | interface +// | namespace Intl +// | function isFinite(number: number): boolean +// | function isNaN(number: number): boolean +// | interface JSON +// | var JSON: JSON +// | keyof +// | let +// | interface Math +// | var Math: Math +// | module +// | namespace +// | var NaN: number +// | never +// | new +// | null +// | number +// | interface Number +// | var Number: NumberConstructor +// | object +// | interface Object +// | var Object: ObjectConstructor +// | package +// | function parseFloat(string: string): number +// | function parseInt(string: string, radix?: number): number +// | interface RangeError +// | var RangeError: RangeErrorConstructor +// | readonly +// | interface ReferenceError +// | var ReferenceError: ReferenceErrorConstructor +// | interface RegExp +// | var RegExp: RegExpConstructor +// | return +// | satisfies +// | string +// | interface String +// | var String: StringConstructor +// | super +// | switch +// | symbol +// | interface SyntaxError +// | var SyntaxError: SyntaxErrorConstructor +// | this +// | throw +// | true +// | try +// | type +// | interface TypeError +// | var TypeError: TypeErrorConstructor +// | typeof +// | interface Uint8Array +// | var Uint8Array: Uint8ArrayConstructor +// | interface Uint8ClampedArray +// | var Uint8ClampedArray: Uint8ClampedArrayConstructor +// | interface Uint16Array +// | var Uint16Array: Uint16ArrayConstructor +// | interface Uint32Array +// | var Uint32Array: Uint32ArrayConstructor +// | var undefined +// | unique +// | unknown +// | interface URIError +// | var URIError: URIErrorConstructor +// | using +// | var +// | void +// | while +// | with +// | yield +// | function escape(string: string): string +// | function unescape(string: string): string +// | ---------------------------------------------------------------------- +// [str: string]: number; +// ^^^ +// | ---------------------------------------------------------------------- +// | class C +// | function F(pred: x): any +// | function func(a: string, b: number): { +// | a: string; +// | b: number; +// | } +// | (parameter) str: string +// | const x1: { +// | a: string; +// | b: number; +// | } +// | const x2: any +// | const x3: { +// | a: string; +// | b: number; +// | } +// | const x4: { +// | a: string; +// | b: number; +// | } +// | const x5: { +// | a: string; +// | b: number; +// | } +// | const x6: any +// | const x7: any +// | function x8(): void +// | function x9(a: number): any +// | const x10: [] +// | const x11: [] +// | let x12: any +// | const x13: string +// | abstract +// | any +// | interface Array +// | var Array: ArrayConstructor +// | interface ArrayBuffer +// | var ArrayBuffer: ArrayBufferConstructor +// | as +// | asserts +// | async +// | await +// | bigint +// | boolean +// | interface Boolean +// | var Boolean: BooleanConstructor +// | break +// | case +// | catch +// | class +// | const +// | continue +// | interface DataView +// | var DataView: DataViewConstructor +// | interface Date +// | var Date: DateConstructor +// | debugger +// | declare +// | function decodeURI(encodedURI: string): string +// | function decodeURIComponent(encodedURIComponent: string): string +// | default +// | delete +// | do +// | else +// | function encodeURI(uri: string): string +// | function encodeURIComponent(uriComponent: string | number | boolean): string +// | enum +// | interface Error +// | var Error: ErrorConstructor +// | function eval(x: string): any +// | interface EvalError +// | var EvalError: EvalErrorConstructor +// | export +// | extends +// | false +// | finally +// | interface Float32Array +// | var Float32Array: Float32ArrayConstructor +// | interface Float64Array +// | var Float64Array: Float64ArrayConstructor +// | for +// | function +// | interface Function +// | var Function: FunctionConstructor +// | module globalThis +// | if +// | implements +// | import +// | in +// | infer +// | var Infinity: number +// | instanceof +// | interface Int8Array +// | var Int8Array: Int8ArrayConstructor +// | interface Int16Array +// | var Int16Array: Int16ArrayConstructor +// | interface Int32Array +// | var Int32Array: Int32ArrayConstructor +// | interface +// | namespace Intl +// | function isFinite(number: number): boolean +// | function isNaN(number: number): boolean +// | interface JSON +// | var JSON: JSON +// | keyof +// | let +// | interface Math +// | var Math: Math +// | module +// | namespace +// | var NaN: number +// | never +// | new +// | null +// | number +// | interface Number +// | var Number: NumberConstructor +// | object +// | interface Object +// | var Object: ObjectConstructor +// | package +// | function parseFloat(string: string): number +// | function parseInt(string: string, radix?: number): number +// | interface RangeError +// | var RangeError: RangeErrorConstructor +// | readonly +// | interface ReferenceError +// | var ReferenceError: ReferenceErrorConstructor +// | interface RegExp +// | var RegExp: RegExpConstructor +// | return +// | satisfies +// | string +// | interface String +// | var String: StringConstructor +// | super +// | switch +// | symbol +// | interface SyntaxError +// | var SyntaxError: SyntaxErrorConstructor +// | this +// | throw +// | true +// | try +// | type +// | interface TypeError +// | var TypeError: TypeErrorConstructor +// | typeof +// | interface Uint8Array +// | var Uint8Array: Uint8ArrayConstructor +// | interface Uint8ClampedArray +// | var Uint8ClampedArray: Uint8ClampedArrayConstructor +// | interface Uint16Array +// | var Uint16Array: Uint16ArrayConstructor +// | interface Uint32Array +// | var Uint32Array: Uint32ArrayConstructor +// | var undefined +// | unique +// | unknown +// | interface URIError +// | var URIError: URIErrorConstructor +// | using +// | var +// | void +// | while +// | with +// | yield +// | function escape(string: string): string +// | function unescape(string: string): string +// | ---------------------------------------------------------------------- +// } +// type T = { +// [xyz: number]: boolean; +// ^^^ +// | ---------------------------------------------------------------------- +// | class C +// | function F(pred: x): any +// | function func(a: string, b: number): { +// | a: string; +// | b: number; +// | } +// | const x1: { +// | a: string; +// | b: number; +// | } +// | const x2: any +// | const x3: { +// | a: string; +// | b: number; +// | } +// | const x4: { +// | a: string; +// | b: number; +// | } +// | const x5: { +// | a: string; +// | b: number; +// | } +// | const x6: any +// | const x7: any +// | function x8(): void +// | function x9(a: number): any +// | const x10: [] +// | const x11: [] +// | let x12: any +// | const x13: string +// | (parameter) xyz: number +// | abstract +// | any +// | interface Array +// | var Array: ArrayConstructor +// | interface ArrayBuffer +// | var ArrayBuffer: ArrayBufferConstructor +// | as +// | asserts +// | async +// | await +// | bigint +// | boolean +// | interface Boolean +// | var Boolean: BooleanConstructor +// | break +// | case +// | catch +// | class +// | const +// | continue +// | interface DataView +// | var DataView: DataViewConstructor +// | interface Date +// | var Date: DateConstructor +// | debugger +// | declare +// | function decodeURI(encodedURI: string): string +// | function decodeURIComponent(encodedURIComponent: string): string +// | default +// | delete +// | do +// | else +// | function encodeURI(uri: string): string +// | function encodeURIComponent(uriComponent: string | number | boolean): string +// | enum +// | interface Error +// | var Error: ErrorConstructor +// | function eval(x: string): any +// | interface EvalError +// | var EvalError: EvalErrorConstructor +// | export +// | extends +// | false +// | finally +// | interface Float32Array +// | var Float32Array: Float32ArrayConstructor +// | interface Float64Array +// | var Float64Array: Float64ArrayConstructor +// | for +// | function +// | interface Function +// | var Function: FunctionConstructor +// | module globalThis +// | if +// | implements +// | import +// | in +// | infer +// | var Infinity: number +// | instanceof +// | interface Int8Array +// | var Int8Array: Int8ArrayConstructor +// | interface Int16Array +// | var Int16Array: Int16ArrayConstructor +// | interface Int32Array +// | var Int32Array: Int32ArrayConstructor +// | interface +// | namespace Intl +// | function isFinite(number: number): boolean +// | function isNaN(number: number): boolean +// | interface JSON +// | var JSON: JSON +// | keyof +// | let +// | interface Math +// | var Math: Math +// | module +// | namespace +// | var NaN: number +// | never +// | new +// | null +// | number +// | interface Number +// | var Number: NumberConstructor +// | object +// | interface Object +// | var Object: ObjectConstructor +// | package +// | function parseFloat(string: string): number +// | function parseInt(string: string, radix?: number): number +// | interface RangeError +// | var RangeError: RangeErrorConstructor +// | readonly +// | interface ReferenceError +// | var ReferenceError: ReferenceErrorConstructor +// | interface RegExp +// | var RegExp: RegExpConstructor +// | return +// | satisfies +// | string +// | interface String +// | var String: StringConstructor +// | super +// | switch +// | symbol +// | interface SyntaxError +// | var SyntaxError: SyntaxErrorConstructor +// | this +// | throw +// | true +// | try +// | type +// | interface TypeError +// | var TypeError: TypeErrorConstructor +// | typeof +// | interface Uint8Array +// | var Uint8Array: Uint8ArrayConstructor +// | interface Uint8ClampedArray +// | var Uint8ClampedArray: Uint8ClampedArrayConstructor +// | interface Uint16Array +// | var Uint16Array: Uint16ArrayConstructor +// | interface Uint32Array +// | var Uint32Array: Uint32ArrayConstructor +// | var undefined +// | unique +// | unknown +// | interface URIError +// | var URIError: URIErrorConstructor +// | using +// | var +// | void +// | while +// | with +// | yield +// | function escape(string: string): string +// | function unescape(string: string): string +// | ---------------------------------------------------------------------- +// [ +// ^ +// | ---------------------------------------------------------------------- +// | class C +// | interface I +// | type T = { +// | [xyz: number]: boolean; +// | } +// | any +// | interface Array +// | var Array: ArrayConstructor +// | interface ArrayBuffer +// | var ArrayBuffer: ArrayBufferConstructor +// | interface ArrayBufferConstructor +// | type ArrayBufferLike = ArrayBuffer +// | interface ArrayBufferTypes +// | interface ArrayBufferView +// | interface ArrayConstructor +// | interface ArrayLike +// | asserts +// | type Awaited = T extends null ? T : T extends object & { +// | then(onfulfilled: infer F, ...args: infer _): any; +// | } ? F extends (value: infer V, ...args: infer _) => any ? Awaited<...> : never : T +// | bigint +// | boolean +// | interface Boolean +// | var Boolean: BooleanConstructor +// | interface BooleanConstructor +// | interface CallableFunction +// | type Capitalize = intrinsic +// | interface ClassAccessorDecoratorContext +// | interface ClassAccessorDecoratorResult +// | interface ClassAccessorDecoratorTarget +// | type ClassDecorator = (target: TFunction) => TFunction | void +// | interface ClassDecoratorContext any = abstract new (...args: any) => any> +// | interface ClassFieldDecoratorContext +// | interface ClassGetterDecoratorContext +// | type ClassMemberDecoratorContext = ClassMethodDecoratorContext any> | ClassGetterDecoratorContext | ClassSetterDecoratorContext | ClassFieldDecoratorContext<...> | ClassAccessorDecoratorContext<...> +// | interface ClassMethodDecoratorContext any = (this: This, ...args: any) => any> +// | interface ClassSetterDecoratorContext +// | interface ConcatArray +// | type ConstructorParameters any> = T extends abstract new (...args: infer P) => any ? P : never +// | interface DataView +// | var DataView: DataViewConstructor +// | interface DataViewConstructor +// | interface Date +// | var Date: DateConstructor +// | interface DateConstructor +// | type DecoratorContext = ClassMemberDecoratorContext | ClassDecoratorContext any> +// | type DecoratorMetadata = Record & object +// | type DecoratorMetadataObject = Record & object +// | interface Error +// | var Error: ErrorConstructor +// | interface ErrorConstructor +// | interface EvalError +// | var EvalError: EvalErrorConstructor +// | interface EvalErrorConstructor +// | type Exclude = T extends U ? never : T +// | type Extract = T extends U ? T : never +// | false +// | interface Float32Array +// | var Float32Array: Float32ArrayConstructor +// | interface Float32ArrayConstructor +// | interface Float64Array +// | var Float64Array: Float64ArrayConstructor +// | interface Float64ArrayConstructor +// | interface Function +// | var Function: FunctionConstructor +// | interface FunctionConstructor +// | module globalThis +// | interface IArguments +// | interface ImportAttributes +// | interface ImportCallOptions +// | interface ImportMeta +// | infer +// | type InstanceType any> = T extends abstract new (...args: any) => infer R ? R : any +// | interface Int8Array +// | var Int8Array: Int8ArrayConstructor +// | interface Int8ArrayConstructor +// | interface Int16Array +// | var Int16Array: Int16ArrayConstructor +// | interface Int16ArrayConstructor +// | interface Int32Array +// | var Int32Array: Int32ArrayConstructor +// | interface Int32ArrayConstructor +// | namespace Intl +// | interface JSON +// | var JSON: JSON +// | keyof +// | type Lowercase = intrinsic +// | interface Math +// | var Math: Math +// | type MethodDecorator = (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void +// | never +// | interface NewableFunction +// | type NoInfer = intrinsic +// | type NonNullable = T & {} +// | null +// | number +// | interface Number +// | var Number: NumberConstructor +// | interface NumberConstructor +// | object +// | interface Object +// | var Object: ObjectConstructor +// | interface ObjectConstructor +// | type Omit = { [P in Exclude]: T[P]; } +// | type OmitThisParameter = unknown extends ThisParameterType ? T : T extends (...args: infer A) => infer R ? (...args: A) => R : T +// | type ParameterDecorator = (target: Object, propertyKey: string | symbol | undefined, parameterIndex: number) => void +// | type Parameters any> = T extends (...args: infer P) => any ? P : never +// | type Partial = { [P in keyof T]?: T[P]; } +// | type Pick = { [P in K]: T[P]; } +// | interface Promise +// | type PromiseConstructorLike = new (executor: (resolve: (value: T | PromiseLike) => void, reject: (reason?: any) => void) => void) => PromiseLike +// | interface PromiseLike +// | type PropertyDecorator = (target: Object, propertyKey: string | symbol) => void +// | interface PropertyDescriptor +// | interface PropertyDescriptorMap +// | type PropertyKey = string | number | symbol +// | interface RangeError +// | var RangeError: RangeErrorConstructor +// | interface RangeErrorConstructor +// | readonly +// | type Readonly = { readonly [P in keyof T]: T[P]; } +// | interface ReadonlyArray +// | type Record = { [P in K]: T; } +// | interface ReferenceError +// | var ReferenceError: ReferenceErrorConstructor +// | interface ReferenceErrorConstructor +// | interface RegExp +// | var RegExp: RegExpConstructor +// | interface RegExpConstructor +// | interface RegExpExecArray +// | interface RegExpMatchArray +// | type Required = { [P in keyof T]-?: T[P]; } +// | type ReturnType any> = T extends (...args: any) => infer R ? R : any +// | string +// | interface String +// | var String: StringConstructor +// | interface StringConstructor +// | symbol +// | interface Symbol +// | interface SyntaxError +// | var SyntaxError: SyntaxErrorConstructor +// | interface SyntaxErrorConstructor +// | interface TemplateStringsArray +// | type ThisParameterType = T extends (this: infer U, ...args: never) => any ? U : unknown +// | interface ThisType +// | true +// | interface TypedPropertyDescriptor +// | interface TypeError +// | var TypeError: TypeErrorConstructor +// | interface TypeErrorConstructor +// | typeof +// | interface Uint8Array +// | var Uint8Array: Uint8ArrayConstructor +// | interface Uint8ArrayConstructor +// | interface Uint8ClampedArray +// | var Uint8ClampedArray: Uint8ClampedArrayConstructor +// | interface Uint8ClampedArrayConstructor +// | interface Uint16Array +// | var Uint16Array: Uint16ArrayConstructor +// | interface Uint16ArrayConstructor +// | interface Uint32Array +// | var Uint32Array: Uint32ArrayConstructor +// | interface Uint32ArrayConstructor +// | type Uncapitalize = intrinsic +// | undefined +// | unique +// | unknown +// | type Uppercase = intrinsic +// | interface URIError +// | var URIError: URIErrorConstructor +// | interface URIErrorConstructor +// | void +// | type WeakKey = object +// | interface WeakKeyTypes +// | interface ImportAssertions +// | ---------------------------------------------------------------------- +// } +// function F(pred: (x) +// ^ +// | ---------------------------------------------------------------------- +// | class C +// | interface I +// | type T = { +// | [xyz: number]: boolean; +// | } +// | any +// | interface Array +// | var Array: ArrayConstructor +// | interface ArrayBuffer +// | var ArrayBuffer: ArrayBufferConstructor +// | interface ArrayBufferConstructor +// | type ArrayBufferLike = ArrayBuffer +// | interface ArrayBufferTypes +// | interface ArrayBufferView +// | interface ArrayConstructor +// | interface ArrayLike +// | asserts +// | type Awaited = T extends null ? T : T extends object & { +// | then(onfulfilled: infer F, ...args: infer _): any; +// | } ? F extends (value: infer V, ...args: infer _) => any ? Awaited<...> : never : T +// | bigint +// | boolean +// | interface Boolean +// | var Boolean: BooleanConstructor +// | interface BooleanConstructor +// | interface CallableFunction +// | type Capitalize = intrinsic +// | interface ClassAccessorDecoratorContext +// | interface ClassAccessorDecoratorResult +// | interface ClassAccessorDecoratorTarget +// | type ClassDecorator = (target: TFunction) => TFunction | void +// | interface ClassDecoratorContext any = abstract new (...args: any) => any> +// | interface ClassFieldDecoratorContext +// | interface ClassGetterDecoratorContext +// | type ClassMemberDecoratorContext = ClassMethodDecoratorContext any> | ClassGetterDecoratorContext | ClassSetterDecoratorContext | ClassFieldDecoratorContext<...> | ClassAccessorDecoratorContext<...> +// | interface ClassMethodDecoratorContext any = (this: This, ...args: any) => any> +// | interface ClassSetterDecoratorContext +// | interface ConcatArray +// | type ConstructorParameters any> = T extends abstract new (...args: infer P) => any ? P : never +// | interface DataView +// | var DataView: DataViewConstructor +// | interface DataViewConstructor +// | interface Date +// | var Date: DateConstructor +// | interface DateConstructor +// | type DecoratorContext = ClassMemberDecoratorContext | ClassDecoratorContext any> +// | type DecoratorMetadata = Record & object +// | type DecoratorMetadataObject = Record & object +// | interface Error +// | var Error: ErrorConstructor +// | interface ErrorConstructor +// | interface EvalError +// | var EvalError: EvalErrorConstructor +// | interface EvalErrorConstructor +// | type Exclude = T extends U ? never : T +// | type Extract = T extends U ? T : never +// | false +// | interface Float32Array +// | var Float32Array: Float32ArrayConstructor +// | interface Float32ArrayConstructor +// | interface Float64Array +// | var Float64Array: Float64ArrayConstructor +// | interface Float64ArrayConstructor +// | interface Function +// | var Function: FunctionConstructor +// | interface FunctionConstructor +// | module globalThis +// | interface IArguments +// | interface ImportAttributes +// | interface ImportCallOptions +// | interface ImportMeta +// | infer +// | type InstanceType any> = T extends abstract new (...args: any) => infer R ? R : any +// | interface Int8Array +// | var Int8Array: Int8ArrayConstructor +// | interface Int8ArrayConstructor +// | interface Int16Array +// | var Int16Array: Int16ArrayConstructor +// | interface Int16ArrayConstructor +// | interface Int32Array +// | var Int32Array: Int32ArrayConstructor +// | interface Int32ArrayConstructor +// | namespace Intl +// | interface JSON +// | var JSON: JSON +// | keyof +// | type Lowercase = intrinsic +// | interface Math +// | var Math: Math +// | type MethodDecorator = (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void +// | never +// | interface NewableFunction +// | type NoInfer = intrinsic +// | type NonNullable = T & {} +// | null +// | number +// | interface Number +// | var Number: NumberConstructor +// | interface NumberConstructor +// | object +// | interface Object +// | var Object: ObjectConstructor +// | interface ObjectConstructor +// | type Omit = { [P in Exclude]: T[P]; } +// | type OmitThisParameter = unknown extends ThisParameterType ? T : T extends (...args: infer A) => infer R ? (...args: A) => R : T +// | type ParameterDecorator = (target: Object, propertyKey: string | symbol | undefined, parameterIndex: number) => void +// | type Parameters any> = T extends (...args: infer P) => any ? P : never +// | type Partial = { [P in keyof T]?: T[P]; } +// | type Pick = { [P in K]: T[P]; } +// | interface Promise +// | type PromiseConstructorLike = new (executor: (resolve: (value: T | PromiseLike) => void, reject: (reason?: any) => void) => void) => PromiseLike +// | interface PromiseLike +// | type PropertyDecorator = (target: Object, propertyKey: string | symbol) => void +// | interface PropertyDescriptor +// | interface PropertyDescriptorMap +// | type PropertyKey = string | number | symbol +// | interface RangeError +// | var RangeError: RangeErrorConstructor +// | interface RangeErrorConstructor +// | readonly +// | type Readonly = { readonly [P in keyof T]: T[P]; } +// | interface ReadonlyArray +// | type Record = { [P in K]: T; } +// | interface ReferenceError +// | var ReferenceError: ReferenceErrorConstructor +// | interface ReferenceErrorConstructor +// | interface RegExp +// | var RegExp: RegExpConstructor +// | interface RegExpConstructor +// | interface RegExpExecArray +// | interface RegExpMatchArray +// | type Required = { [P in keyof T]-?: T[P]; } +// | type ReturnType any> = T extends (...args: any) => infer R ? R : any +// | string +// | interface String +// | var String: StringConstructor +// | interface StringConstructor +// | symbol +// | interface Symbol +// | interface SyntaxError +// | var SyntaxError: SyntaxErrorConstructor +// | interface SyntaxErrorConstructor +// | interface TemplateStringsArray +// | type ThisParameterType = T extends (this: infer U, ...args: never) => any ? U : unknown +// | interface ThisType +// | true +// | interface TypedPropertyDescriptor +// | interface TypeError +// | var TypeError: TypeErrorConstructor +// | interface TypeErrorConstructor +// | typeof +// | interface Uint8Array +// | var Uint8Array: Uint8ArrayConstructor +// | interface Uint8ArrayConstructor +// | interface Uint8ClampedArray +// | var Uint8ClampedArray: Uint8ClampedArrayConstructor +// | interface Uint8ClampedArrayConstructor +// | interface Uint16Array +// | var Uint16Array: Uint16ArrayConstructor +// | interface Uint16ArrayConstructor +// | interface Uint32Array +// | var Uint32Array: Uint32ArrayConstructor +// | interface Uint32ArrayConstructor +// | type Uncapitalize = intrinsic +// | undefined +// | unique +// | unknown +// | type Uppercase = intrinsic +// | interface URIError +// | var URIError: URIErrorConstructor +// | interface URIErrorConstructor +// | void +// | type WeakKey = object +// | interface WeakKeyTypes +// | interface ImportAssertions +// | ---------------------------------------------------------------------- + +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersGlobal.ts", + "position": 87, + "name": "1" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": true, + "entries": [ + { + "name": "C", + "kind": "class", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + } + ], + "documentation": [] + }, + { + "name": "F", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "F", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "pred", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "func", + "kind": "function", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "func", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x2", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x2", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x3", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x3", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x4", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x4", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x5", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x5", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x6", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x6", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x7", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x7", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x8", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x9", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x10", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x10", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x11", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x11", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x12", + "kind": "let", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x12", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x13", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x13", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "abstract", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "abstract", + "kind": "keyword" + } + ] + }, + { + "name": "any", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "any", + "kind": "keyword" + } + ] + }, + { + "name": "Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBuffer", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Represents a raw buffer of binary data, which is used to store data for the\ndifferent typed arrays. ArrayBuffers cannot be read from or written to directly,\nbut can be passed to a typed array or DataView Object to interpret the raw\nbuffer as needed.", + "kind": "text" + } + ] + }, + { + "name": "as", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "as", + "kind": "keyword" + } + ] + }, + { + "name": "asserts", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "asserts", + "kind": "keyword" + } + ] + }, + { + "name": "async", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "async", + "kind": "keyword" + } + ] + }, + { + "name": "await", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "await", + "kind": "keyword" + } + ] + }, + { + "name": "bigint", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "bigint", + "kind": "keyword" + } + ] + }, + { + "name": "boolean", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "boolean", + "kind": "keyword" + } + ] + }, + { + "name": "Boolean", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "break", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "break", + "kind": "keyword" + } + ] + }, + { + "name": "case", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "case", + "kind": "keyword" + } + ] + }, + { + "name": "catch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "catch", + "kind": "keyword" + } + ] + }, + { + "name": "class", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + } + ] + }, + { + "name": "const", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + } + ] + }, + { + "name": "continue", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "continue", + "kind": "keyword" + } + ] + }, + { + "name": "DataView", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Date", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Enables basic storage and retrieval of dates and times.", + "kind": "text" + } + ] + }, + { + "name": "debugger", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "debugger", + "kind": "keyword" + } + ] + }, + { + "name": "declare", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "declare", + "kind": "keyword" + } + ] + }, + { + "name": "decodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "decodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "default", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "default", + "kind": "keyword" + } + ] + }, + { + "name": "delete", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "delete", + "kind": "keyword" + } + ] + }, + { + "name": "do", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "do", + "kind": "keyword" + } + ] + }, + { + "name": "else", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "else", + "kind": "keyword" + } + ] + }, + { + "name": "encodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid Uniform Resource Identifier (URI)", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "encodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "enum", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + } + ] + }, + { + "name": "Error", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "eval", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eval", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Evaluates JavaScript code and executes it.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "x", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A String value that contains valid JavaScript code.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "EvalError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "export", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "export", + "kind": "keyword" + } + ] + }, + { + "name": "extends", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "extends", + "kind": "keyword" + } + ] + }, + { + "name": "false", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "false", + "kind": "keyword" + } + ] + }, + { + "name": "finally", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "finally", + "kind": "keyword" + } + ] + }, + { + "name": "Float32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float64Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "for", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "for", + "kind": "keyword" + } + ] + }, + { + "name": "function", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + } + ] + }, + { + "name": "Function", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Creates a new function.", + "kind": "text" + } + ] + }, + { + "name": "globalThis", + "kind": "module", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "globalThis", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "if", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "if", + "kind": "keyword" + } + ] + }, + { + "name": "implements", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "implements", + "kind": "keyword" + } + ] + }, + { + "name": "import", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "import", + "kind": "keyword" + } + ] + }, + { + "name": "in", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "in", + "kind": "keyword" + } + ] + }, + { + "name": "infer", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "infer", + "kind": "keyword" + } + ] + }, + { + "name": "Infinity", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Infinity", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "instanceof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "instanceof", + "kind": "keyword" + } + ] + }, + { + "name": "Int8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "interface", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + } + ] + }, + { + "name": "Intl", + "kind": "module", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Intl", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "isFinite", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isFinite", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Determines whether a supplied number is finite.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Any numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "isNaN", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isNaN", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "JSON", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.", + "kind": "text" + } + ] + }, + { + "name": "keyof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "keyof", + "kind": "keyword" + } + ] + }, + { + "name": "let", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + } + ] + }, + { + "name": "Math", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides basic mathematics functionality and constants.", + "kind": "text" + } + ] + }, + { + "name": "module", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + } + ] + }, + { + "name": "namespace", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + } + ] + }, + { + "name": "NaN", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NaN", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "never", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "never", + "kind": "keyword" + } + ] + }, + { + "name": "new", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "new", + "kind": "keyword" + } + ] + }, + { + "name": "null", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "null", + "kind": "keyword" + } + ] + }, + { + "name": "number", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "number", + "kind": "keyword" + } + ] + }, + { + "name": "Number", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers.", + "kind": "text" + } + ] + }, + { + "name": "object", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "object", + "kind": "keyword" + } + ] + }, + { + "name": "Object", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Provides functionality common to all JavaScript objects.", + "kind": "text" + } + ] + }, + { + "name": "package", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "package", + "kind": "keyword" + } + ] + }, + { + "name": "parseFloat", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseFloat", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to a floating-point number.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string that contains a floating-point number.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "parseInt", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseInt", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to an integer.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string to convert into a number.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value between 2 and 36 that specifies the base of the number in `string`.\nIf this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\nAll other strings are considered decimal.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "RangeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "readonly", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "readonly", + "kind": "keyword" + } + ] + }, + { + "name": "ReferenceError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExp", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "return", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "return", + "kind": "keyword" + } + ] + }, + { + "name": "satisfies", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "satisfies", + "kind": "keyword" + } + ] + }, + { + "name": "string", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "string", + "kind": "keyword" + } + ] + }, + { + "name": "String", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allows manipulation and formatting of text strings and determination and location of substrings within strings.", + "kind": "text" + } + ] + }, + { + "name": "super", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "super", + "kind": "keyword" + } + ] + }, + { + "name": "switch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "switch", + "kind": "keyword" + } + ] + }, + { + "name": "symbol", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "symbol", + "kind": "keyword" + } + ] + }, + { + "name": "SyntaxError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "this", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "this", + "kind": "keyword" + } + ] + }, + { + "name": "throw", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "throw", + "kind": "keyword" + } + ] + }, + { + "name": "true", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "true", + "kind": "keyword" + } + ] + }, + { + "name": "try", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "try", + "kind": "keyword" + } + ] + }, + { + "name": "type", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + } + ] + }, + { + "name": "TypeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "typeof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "typeof", + "kind": "keyword" + } + ] + }, + { + "name": "Uint8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ClampedArray", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "undefined", + "kind": "var", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "undefined", + "kind": "propertyName" + } + ], + "documentation": [] + }, + { + "name": "unique", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unique", + "kind": "keyword" + } + ] + }, + { + "name": "unknown", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unknown", + "kind": "keyword" + } + ] + }, + { + "name": "URIError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "using", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "using", + "kind": "keyword" + } + ] + }, + { + "name": "var", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + } + ] + }, + { + "name": "void", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "void", + "kind": "keyword" + } + ] + }, + { + "name": "while", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "while", + "kind": "keyword" + } + ] + }, + { + "name": "with", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "with", + "kind": "keyword" + } + ] + }, + { + "name": "yield", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "yield", + "kind": "keyword" + } + ] + }, + { + "name": "escape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "escape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + }, + { + "name": "unescape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unescape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersGlobal.ts", + "position": 107, + "name": "2" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": true, + "optionalReplacementSpan": { + "start": 106, + "length": 1 + }, + "entries": [ + { + "name": "C", + "kind": "class", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + } + ], + "documentation": [] + }, + { + "name": "F", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "F", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "pred", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "func", + "kind": "function", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "func", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x1", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x3", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x3", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x4", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x4", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x5", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x5", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x6", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x6", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x7", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x7", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x8", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x9", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x10", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x10", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x11", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x11", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x12", + "kind": "let", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x12", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x13", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x13", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "abstract", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "abstract", + "kind": "keyword" + } + ] + }, + { + "name": "any", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "any", + "kind": "keyword" + } + ] + }, + { + "name": "Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBuffer", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Represents a raw buffer of binary data, which is used to store data for the\ndifferent typed arrays. ArrayBuffers cannot be read from or written to directly,\nbut can be passed to a typed array or DataView Object to interpret the raw\nbuffer as needed.", + "kind": "text" + } + ] + }, + { + "name": "as", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "as", + "kind": "keyword" + } + ] + }, + { + "name": "asserts", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "asserts", + "kind": "keyword" + } + ] + }, + { + "name": "async", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "async", + "kind": "keyword" + } + ] + }, + { + "name": "await", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "await", + "kind": "keyword" + } + ] + }, + { + "name": "bigint", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "bigint", + "kind": "keyword" + } + ] + }, + { + "name": "boolean", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "boolean", + "kind": "keyword" + } + ] + }, + { + "name": "Boolean", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "break", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "break", + "kind": "keyword" + } + ] + }, + { + "name": "case", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "case", + "kind": "keyword" + } + ] + }, + { + "name": "catch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "catch", + "kind": "keyword" + } + ] + }, + { + "name": "class", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + } + ] + }, + { + "name": "const", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + } + ] + }, + { + "name": "continue", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "continue", + "kind": "keyword" + } + ] + }, + { + "name": "DataView", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Date", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Enables basic storage and retrieval of dates and times.", + "kind": "text" + } + ] + }, + { + "name": "debugger", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "debugger", + "kind": "keyword" + } + ] + }, + { + "name": "declare", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "declare", + "kind": "keyword" + } + ] + }, + { + "name": "decodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "decodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "default", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "default", + "kind": "keyword" + } + ] + }, + { + "name": "delete", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "delete", + "kind": "keyword" + } + ] + }, + { + "name": "do", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "do", + "kind": "keyword" + } + ] + }, + { + "name": "else", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "else", + "kind": "keyword" + } + ] + }, + { + "name": "encodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid Uniform Resource Identifier (URI)", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "encodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "enum", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + } + ] + }, + { + "name": "Error", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "eval", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eval", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Evaluates JavaScript code and executes it.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "x", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A String value that contains valid JavaScript code.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "EvalError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "export", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "export", + "kind": "keyword" + } + ] + }, + { + "name": "extends", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "extends", + "kind": "keyword" + } + ] + }, + { + "name": "false", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "false", + "kind": "keyword" + } + ] + }, + { + "name": "finally", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "finally", + "kind": "keyword" + } + ] + }, + { + "name": "Float32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float64Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "for", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "for", + "kind": "keyword" + } + ] + }, + { + "name": "function", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + } + ] + }, + { + "name": "Function", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Creates a new function.", + "kind": "text" + } + ] + }, + { + "name": "globalThis", + "kind": "module", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "globalThis", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "if", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "if", + "kind": "keyword" + } + ] + }, + { + "name": "implements", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "implements", + "kind": "keyword" + } + ] + }, + { + "name": "import", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "import", + "kind": "keyword" + } + ] + }, + { + "name": "in", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "in", + "kind": "keyword" + } + ] + }, + { + "name": "infer", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "infer", + "kind": "keyword" + } + ] + }, + { + "name": "Infinity", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Infinity", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "instanceof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "instanceof", + "kind": "keyword" + } + ] + }, + { + "name": "Int8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "interface", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + } + ] + }, + { + "name": "Intl", + "kind": "module", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Intl", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "isFinite", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isFinite", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Determines whether a supplied number is finite.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Any numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "isNaN", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isNaN", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "JSON", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.", + "kind": "text" + } + ] + }, + { + "name": "keyof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "keyof", + "kind": "keyword" + } + ] + }, + { + "name": "let", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + } + ] + }, + { + "name": "Math", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides basic mathematics functionality and constants.", + "kind": "text" + } + ] + }, + { + "name": "module", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + } + ] + }, + { + "name": "namespace", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + } + ] + }, + { + "name": "NaN", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NaN", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "never", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "never", + "kind": "keyword" + } + ] + }, + { + "name": "new", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "new", + "kind": "keyword" + } + ] + }, + { + "name": "null", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "null", + "kind": "keyword" + } + ] + }, + { + "name": "number", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "number", + "kind": "keyword" + } + ] + }, + { + "name": "Number", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers.", + "kind": "text" + } + ] + }, + { + "name": "object", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "object", + "kind": "keyword" + } + ] + }, + { + "name": "Object", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Provides functionality common to all JavaScript objects.", + "kind": "text" + } + ] + }, + { + "name": "package", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "package", + "kind": "keyword" + } + ] + }, + { + "name": "parseFloat", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseFloat", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to a floating-point number.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string that contains a floating-point number.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "parseInt", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseInt", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to an integer.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string to convert into a number.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value between 2 and 36 that specifies the base of the number in `string`.\nIf this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\nAll other strings are considered decimal.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "RangeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "readonly", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "readonly", + "kind": "keyword" + } + ] + }, + { + "name": "ReferenceError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExp", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "return", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "return", + "kind": "keyword" + } + ] + }, + { + "name": "satisfies", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "satisfies", + "kind": "keyword" + } + ] + }, + { + "name": "string", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "string", + "kind": "keyword" + } + ] + }, + { + "name": "String", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allows manipulation and formatting of text strings and determination and location of substrings within strings.", + "kind": "text" + } + ] + }, + { + "name": "super", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "super", + "kind": "keyword" + } + ] + }, + { + "name": "switch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "switch", + "kind": "keyword" + } + ] + }, + { + "name": "symbol", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "symbol", + "kind": "keyword" + } + ] + }, + { + "name": "SyntaxError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "this", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "this", + "kind": "keyword" + } + ] + }, + { + "name": "throw", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "throw", + "kind": "keyword" + } + ] + }, + { + "name": "true", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "true", + "kind": "keyword" + } + ] + }, + { + "name": "try", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "try", + "kind": "keyword" + } + ] + }, + { + "name": "type", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + } + ] + }, + { + "name": "TypeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "typeof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "typeof", + "kind": "keyword" + } + ] + }, + { + "name": "Uint8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ClampedArray", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "undefined", + "kind": "var", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "undefined", + "kind": "propertyName" + } + ], + "documentation": [] + }, + { + "name": "unique", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unique", + "kind": "keyword" + } + ] + }, + { + "name": "unknown", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unknown", + "kind": "keyword" + } + ] + }, + { + "name": "URIError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "using", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "using", + "kind": "keyword" + } + ] + }, + { + "name": "var", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + } + ] + }, + { + "name": "void", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "void", + "kind": "keyword" + } + ] + }, + { + "name": "while", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "while", + "kind": "keyword" + } + ] + }, + { + "name": "with", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "with", + "kind": "keyword" + } + ] + }, + { + "name": "yield", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "yield", + "kind": "keyword" + } + ] + }, + { + "name": "escape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "escape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + }, + { + "name": "unescape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unescape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ";" + ] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersGlobal.ts", + "position": 111, + "name": "22" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": true, + "optionalReplacementSpan": { + "start": 110, + "length": 1 + }, + "entries": [ + { + "name": "C", + "kind": "class", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + } + ], + "documentation": [] + }, + { + "name": "F", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "F", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "pred", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "func", + "kind": "function", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "func", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x1", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x3", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x3", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x4", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x4", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x5", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x5", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x6", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x6", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x7", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x7", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x8", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x9", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x10", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x10", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x11", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x11", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x12", + "kind": "let", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x12", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x13", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x13", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "abstract", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "abstract", + "kind": "keyword" + } + ] + }, + { + "name": "any", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "any", + "kind": "keyword" + } + ] + }, + { + "name": "Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBuffer", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Represents a raw buffer of binary data, which is used to store data for the\ndifferent typed arrays. ArrayBuffers cannot be read from or written to directly,\nbut can be passed to a typed array or DataView Object to interpret the raw\nbuffer as needed.", + "kind": "text" + } + ] + }, + { + "name": "as", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "as", + "kind": "keyword" + } + ] + }, + { + "name": "asserts", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "asserts", + "kind": "keyword" + } + ] + }, + { + "name": "async", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "async", + "kind": "keyword" + } + ] + }, + { + "name": "await", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "await", + "kind": "keyword" + } + ] + }, + { + "name": "bigint", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "bigint", + "kind": "keyword" + } + ] + }, + { + "name": "boolean", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "boolean", + "kind": "keyword" + } + ] + }, + { + "name": "Boolean", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "break", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "break", + "kind": "keyword" + } + ] + }, + { + "name": "case", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "case", + "kind": "keyword" + } + ] + }, + { + "name": "catch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "catch", + "kind": "keyword" + } + ] + }, + { + "name": "class", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + } + ] + }, + { + "name": "const", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + } + ] + }, + { + "name": "continue", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "continue", + "kind": "keyword" + } + ] + }, + { + "name": "DataView", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Date", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Enables basic storage and retrieval of dates and times.", + "kind": "text" + } + ] + }, + { + "name": "debugger", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "debugger", + "kind": "keyword" + } + ] + }, + { + "name": "declare", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "declare", + "kind": "keyword" + } + ] + }, + { + "name": "decodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "decodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "default", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "default", + "kind": "keyword" + } + ] + }, + { + "name": "delete", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "delete", + "kind": "keyword" + } + ] + }, + { + "name": "do", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "do", + "kind": "keyword" + } + ] + }, + { + "name": "else", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "else", + "kind": "keyword" + } + ] + }, + { + "name": "encodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid Uniform Resource Identifier (URI)", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "encodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "enum", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + } + ] + }, + { + "name": "Error", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "eval", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eval", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Evaluates JavaScript code and executes it.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "x", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A String value that contains valid JavaScript code.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "EvalError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "export", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "export", + "kind": "keyword" + } + ] + }, + { + "name": "extends", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "extends", + "kind": "keyword" + } + ] + }, + { + "name": "false", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "false", + "kind": "keyword" + } + ] + }, + { + "name": "finally", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "finally", + "kind": "keyword" + } + ] + }, + { + "name": "Float32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float64Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "for", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "for", + "kind": "keyword" + } + ] + }, + { + "name": "function", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + } + ] + }, + { + "name": "Function", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Creates a new function.", + "kind": "text" + } + ] + }, + { + "name": "globalThis", + "kind": "module", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "globalThis", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "if", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "if", + "kind": "keyword" + } + ] + }, + { + "name": "implements", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "implements", + "kind": "keyword" + } + ] + }, + { + "name": "import", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "import", + "kind": "keyword" + } + ] + }, + { + "name": "in", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "in", + "kind": "keyword" + } + ] + }, + { + "name": "infer", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "infer", + "kind": "keyword" + } + ] + }, + { + "name": "Infinity", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Infinity", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "instanceof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "instanceof", + "kind": "keyword" + } + ] + }, + { + "name": "Int8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "interface", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + } + ] + }, + { + "name": "Intl", + "kind": "module", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Intl", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "isFinite", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isFinite", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Determines whether a supplied number is finite.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Any numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "isNaN", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isNaN", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "JSON", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.", + "kind": "text" + } + ] + }, + { + "name": "keyof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "keyof", + "kind": "keyword" + } + ] + }, + { + "name": "let", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + } + ] + }, + { + "name": "Math", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides basic mathematics functionality and constants.", + "kind": "text" + } + ] + }, + { + "name": "module", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + } + ] + }, + { + "name": "namespace", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + } + ] + }, + { + "name": "NaN", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NaN", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "never", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "never", + "kind": "keyword" + } + ] + }, + { + "name": "new", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "new", + "kind": "keyword" + } + ] + }, + { + "name": "null", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "null", + "kind": "keyword" + } + ] + }, + { + "name": "number", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "number", + "kind": "keyword" + } + ] + }, + { + "name": "Number", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers.", + "kind": "text" + } + ] + }, + { + "name": "object", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "object", + "kind": "keyword" + } + ] + }, + { + "name": "Object", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Provides functionality common to all JavaScript objects.", + "kind": "text" + } + ] + }, + { + "name": "package", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "package", + "kind": "keyword" + } + ] + }, + { + "name": "parseFloat", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseFloat", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to a floating-point number.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string that contains a floating-point number.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "parseInt", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseInt", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to an integer.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string to convert into a number.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value between 2 and 36 that specifies the base of the number in `string`.\nIf this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\nAll other strings are considered decimal.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "RangeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "readonly", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "readonly", + "kind": "keyword" + } + ] + }, + { + "name": "ReferenceError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExp", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "return", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "return", + "kind": "keyword" + } + ] + }, + { + "name": "satisfies", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "satisfies", + "kind": "keyword" + } + ] + }, + { + "name": "string", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "string", + "kind": "keyword" + } + ] + }, + { + "name": "String", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allows manipulation and formatting of text strings and determination and location of substrings within strings.", + "kind": "text" + } + ] + }, + { + "name": "super", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "super", + "kind": "keyword" + } + ] + }, + { + "name": "switch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "switch", + "kind": "keyword" + } + ] + }, + { + "name": "symbol", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "symbol", + "kind": "keyword" + } + ] + }, + { + "name": "SyntaxError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "this", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "this", + "kind": "keyword" + } + ] + }, + { + "name": "throw", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "throw", + "kind": "keyword" + } + ] + }, + { + "name": "true", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "true", + "kind": "keyword" + } + ] + }, + { + "name": "try", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "try", + "kind": "keyword" + } + ] + }, + { + "name": "type", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + } + ] + }, + { + "name": "TypeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "typeof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "typeof", + "kind": "keyword" + } + ] + }, + { + "name": "Uint8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ClampedArray", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "undefined", + "kind": "var", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "undefined", + "kind": "propertyName" + } + ], + "documentation": [] + }, + { + "name": "unique", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unique", + "kind": "keyword" + } + ] + }, + { + "name": "unknown", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unknown", + "kind": "keyword" + } + ] + }, + { + "name": "URIError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "using", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "using", + "kind": "keyword" + } + ] + }, + { + "name": "var", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + } + ] + }, + { + "name": "void", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "void", + "kind": "keyword" + } + ] + }, + { + "name": "while", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "while", + "kind": "keyword" + } + ] + }, + { + "name": "with", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "with", + "kind": "keyword" + } + ] + }, + { + "name": "yield", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "yield", + "kind": "keyword" + } + ] + }, + { + "name": "escape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "escape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + }, + { + "name": "unescape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unescape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ";" + ] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersGlobal.ts", + "position": 136, + "name": "3" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": true, + "entries": [ + { + "name": "C", + "kind": "class", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + } + ], + "documentation": [] + }, + { + "name": "F", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "F", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "pred", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "func", + "kind": "function", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "func", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x1", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x2", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x2", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x4", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x4", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x5", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x5", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x6", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x6", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x7", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x7", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x8", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x9", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x10", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x10", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x11", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x11", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x12", + "kind": "let", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x12", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x13", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x13", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "abstract", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "abstract", + "kind": "keyword" + } + ] + }, + { + "name": "any", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "any", + "kind": "keyword" + } + ] + }, + { + "name": "Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBuffer", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Represents a raw buffer of binary data, which is used to store data for the\ndifferent typed arrays. ArrayBuffers cannot be read from or written to directly,\nbut can be passed to a typed array or DataView Object to interpret the raw\nbuffer as needed.", + "kind": "text" + } + ] + }, + { + "name": "as", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "as", + "kind": "keyword" + } + ] + }, + { + "name": "asserts", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "asserts", + "kind": "keyword" + } + ] + }, + { + "name": "async", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "async", + "kind": "keyword" + } + ] + }, + { + "name": "await", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "await", + "kind": "keyword" + } + ] + }, + { + "name": "bigint", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "bigint", + "kind": "keyword" + } + ] + }, + { + "name": "boolean", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "boolean", + "kind": "keyword" + } + ] + }, + { + "name": "Boolean", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "break", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "break", + "kind": "keyword" + } + ] + }, + { + "name": "case", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "case", + "kind": "keyword" + } + ] + }, + { + "name": "catch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "catch", + "kind": "keyword" + } + ] + }, + { + "name": "class", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + } + ] + }, + { + "name": "const", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + } + ] + }, + { + "name": "continue", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "continue", + "kind": "keyword" + } + ] + }, + { + "name": "DataView", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Date", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Enables basic storage and retrieval of dates and times.", + "kind": "text" + } + ] + }, + { + "name": "debugger", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "debugger", + "kind": "keyword" + } + ] + }, + { + "name": "declare", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "declare", + "kind": "keyword" + } + ] + }, + { + "name": "decodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "decodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "default", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "default", + "kind": "keyword" + } + ] + }, + { + "name": "delete", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "delete", + "kind": "keyword" + } + ] + }, + { + "name": "do", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "do", + "kind": "keyword" + } + ] + }, + { + "name": "else", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "else", + "kind": "keyword" + } + ] + }, + { + "name": "encodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid Uniform Resource Identifier (URI)", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "encodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "enum", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + } + ] + }, + { + "name": "Error", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "eval", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eval", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Evaluates JavaScript code and executes it.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "x", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A String value that contains valid JavaScript code.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "EvalError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "export", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "export", + "kind": "keyword" + } + ] + }, + { + "name": "extends", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "extends", + "kind": "keyword" + } + ] + }, + { + "name": "false", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "false", + "kind": "keyword" + } + ] + }, + { + "name": "finally", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "finally", + "kind": "keyword" + } + ] + }, + { + "name": "Float32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float64Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "for", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "for", + "kind": "keyword" + } + ] + }, + { + "name": "function", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + } + ] + }, + { + "name": "Function", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Creates a new function.", + "kind": "text" + } + ] + }, + { + "name": "globalThis", + "kind": "module", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "globalThis", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "if", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "if", + "kind": "keyword" + } + ] + }, + { + "name": "implements", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "implements", + "kind": "keyword" + } + ] + }, + { + "name": "import", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "import", + "kind": "keyword" + } + ] + }, + { + "name": "in", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "in", + "kind": "keyword" + } + ] + }, + { + "name": "infer", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "infer", + "kind": "keyword" + } + ] + }, + { + "name": "Infinity", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Infinity", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "instanceof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "instanceof", + "kind": "keyword" + } + ] + }, + { + "name": "Int8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "interface", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + } + ] + }, + { + "name": "Intl", + "kind": "module", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Intl", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "isFinite", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isFinite", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Determines whether a supplied number is finite.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Any numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "isNaN", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isNaN", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "JSON", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.", + "kind": "text" + } + ] + }, + { + "name": "keyof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "keyof", + "kind": "keyword" + } + ] + }, + { + "name": "let", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + } + ] + }, + { + "name": "Math", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides basic mathematics functionality and constants.", + "kind": "text" + } + ] + }, + { + "name": "module", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + } + ] + }, + { + "name": "namespace", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + } + ] + }, + { + "name": "NaN", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NaN", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "never", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "never", + "kind": "keyword" + } + ] + }, + { + "name": "new", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "new", + "kind": "keyword" + } + ] + }, + { + "name": "null", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "null", + "kind": "keyword" + } + ] + }, + { + "name": "number", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "number", + "kind": "keyword" + } + ] + }, + { + "name": "Number", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers.", + "kind": "text" + } + ] + }, + { + "name": "object", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "object", + "kind": "keyword" + } + ] + }, + { + "name": "Object", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Provides functionality common to all JavaScript objects.", + "kind": "text" + } + ] + }, + { + "name": "package", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "package", + "kind": "keyword" + } + ] + }, + { + "name": "parseFloat", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseFloat", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to a floating-point number.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string that contains a floating-point number.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "parseInt", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseInt", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to an integer.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string to convert into a number.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value between 2 and 36 that specifies the base of the number in `string`.\nIf this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\nAll other strings are considered decimal.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "RangeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "readonly", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "readonly", + "kind": "keyword" + } + ] + }, + { + "name": "ReferenceError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExp", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "return", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "return", + "kind": "keyword" + } + ] + }, + { + "name": "satisfies", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "satisfies", + "kind": "keyword" + } + ] + }, + { + "name": "string", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "string", + "kind": "keyword" + } + ] + }, + { + "name": "String", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allows manipulation and formatting of text strings and determination and location of substrings within strings.", + "kind": "text" + } + ] + }, + { + "name": "super", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "super", + "kind": "keyword" + } + ] + }, + { + "name": "switch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "switch", + "kind": "keyword" + } + ] + }, + { + "name": "symbol", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "symbol", + "kind": "keyword" + } + ] + }, + { + "name": "SyntaxError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "this", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "this", + "kind": "keyword" + } + ] + }, + { + "name": "throw", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "throw", + "kind": "keyword" + } + ] + }, + { + "name": "true", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "true", + "kind": "keyword" + } + ] + }, + { + "name": "try", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "try", + "kind": "keyword" + } + ] + }, + { + "name": "type", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + } + ] + }, + { + "name": "TypeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "typeof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "typeof", + "kind": "keyword" + } + ] + }, + { + "name": "Uint8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ClampedArray", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "undefined", + "kind": "var", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "undefined", + "kind": "propertyName" + } + ], + "documentation": [] + }, + { + "name": "unique", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unique", + "kind": "keyword" + } + ] + }, + { + "name": "unknown", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unknown", + "kind": "keyword" + } + ] + }, + { + "name": "URIError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "using", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "using", + "kind": "keyword" + } + ] + }, + { + "name": "var", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + } + ] + }, + { + "name": "void", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "void", + "kind": "keyword" + } + ] + }, + { + "name": "while", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "while", + "kind": "keyword" + } + ] + }, + { + "name": "with", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "with", + "kind": "keyword" + } + ] + }, + { + "name": "yield", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "yield", + "kind": "keyword" + } + ] + }, + { + "name": "escape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "escape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + }, + { + "name": "unescape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unescape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersGlobal.ts", + "position": 159, + "name": "4" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": true, + "optionalReplacementSpan": { + "start": 158, + "length": 1 + }, + "entries": [ + { + "name": "C", + "kind": "class", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + } + ], + "documentation": [] + }, + { + "name": "F", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "F", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "pred", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "func", + "kind": "function", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "func", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x1", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x2", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x2", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x3", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x3", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x5", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x5", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x6", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x6", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x7", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x7", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x8", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x9", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x10", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x10", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x11", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x11", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x12", + "kind": "let", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x12", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x13", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x13", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "abstract", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "abstract", + "kind": "keyword" + } + ] + }, + { + "name": "any", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "any", + "kind": "keyword" + } + ] + }, + { + "name": "Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBuffer", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Represents a raw buffer of binary data, which is used to store data for the\ndifferent typed arrays. ArrayBuffers cannot be read from or written to directly,\nbut can be passed to a typed array or DataView Object to interpret the raw\nbuffer as needed.", + "kind": "text" + } + ] + }, + { + "name": "as", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "as", + "kind": "keyword" + } + ] + }, + { + "name": "asserts", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "asserts", + "kind": "keyword" + } + ] + }, + { + "name": "async", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "async", + "kind": "keyword" + } + ] + }, + { + "name": "await", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "await", + "kind": "keyword" + } + ] + }, + { + "name": "bigint", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "bigint", + "kind": "keyword" + } + ] + }, + { + "name": "boolean", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "boolean", + "kind": "keyword" + } + ] + }, + { + "name": "Boolean", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "break", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "break", + "kind": "keyword" + } + ] + }, + { + "name": "case", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "case", + "kind": "keyword" + } + ] + }, + { + "name": "catch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "catch", + "kind": "keyword" + } + ] + }, + { + "name": "class", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + } + ] + }, + { + "name": "const", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + } + ] + }, + { + "name": "continue", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "continue", + "kind": "keyword" + } + ] + }, + { + "name": "DataView", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Date", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Enables basic storage and retrieval of dates and times.", + "kind": "text" + } + ] + }, + { + "name": "debugger", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "debugger", + "kind": "keyword" + } + ] + }, + { + "name": "declare", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "declare", + "kind": "keyword" + } + ] + }, + { + "name": "decodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "decodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "default", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "default", + "kind": "keyword" + } + ] + }, + { + "name": "delete", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "delete", + "kind": "keyword" + } + ] + }, + { + "name": "do", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "do", + "kind": "keyword" + } + ] + }, + { + "name": "else", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "else", + "kind": "keyword" + } + ] + }, + { + "name": "encodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid Uniform Resource Identifier (URI)", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "encodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "enum", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + } + ] + }, + { + "name": "Error", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "eval", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eval", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Evaluates JavaScript code and executes it.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "x", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A String value that contains valid JavaScript code.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "EvalError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "export", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "export", + "kind": "keyword" + } + ] + }, + { + "name": "extends", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "extends", + "kind": "keyword" + } + ] + }, + { + "name": "false", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "false", + "kind": "keyword" + } + ] + }, + { + "name": "finally", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "finally", + "kind": "keyword" + } + ] + }, + { + "name": "Float32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float64Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "for", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "for", + "kind": "keyword" + } + ] + }, + { + "name": "function", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + } + ] + }, + { + "name": "Function", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Creates a new function.", + "kind": "text" + } + ] + }, + { + "name": "globalThis", + "kind": "module", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "globalThis", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "if", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "if", + "kind": "keyword" + } + ] + }, + { + "name": "implements", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "implements", + "kind": "keyword" + } + ] + }, + { + "name": "import", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "import", + "kind": "keyword" + } + ] + }, + { + "name": "in", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "in", + "kind": "keyword" + } + ] + }, + { + "name": "infer", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "infer", + "kind": "keyword" + } + ] + }, + { + "name": "Infinity", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Infinity", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "instanceof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "instanceof", + "kind": "keyword" + } + ] + }, + { + "name": "Int8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "interface", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + } + ] + }, + { + "name": "Intl", + "kind": "module", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Intl", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "isFinite", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isFinite", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Determines whether a supplied number is finite.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Any numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "isNaN", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isNaN", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "JSON", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.", + "kind": "text" + } + ] + }, + { + "name": "keyof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "keyof", + "kind": "keyword" + } + ] + }, + { + "name": "let", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + } + ] + }, + { + "name": "Math", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides basic mathematics functionality and constants.", + "kind": "text" + } + ] + }, + { + "name": "module", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + } + ] + }, + { + "name": "namespace", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + } + ] + }, + { + "name": "NaN", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NaN", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "never", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "never", + "kind": "keyword" + } + ] + }, + { + "name": "new", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "new", + "kind": "keyword" + } + ] + }, + { + "name": "null", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "null", + "kind": "keyword" + } + ] + }, + { + "name": "number", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "number", + "kind": "keyword" + } + ] + }, + { + "name": "Number", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers.", + "kind": "text" + } + ] + }, + { + "name": "object", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "object", + "kind": "keyword" + } + ] + }, + { + "name": "Object", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Provides functionality common to all JavaScript objects.", + "kind": "text" + } + ] + }, + { + "name": "package", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "package", + "kind": "keyword" + } + ] + }, + { + "name": "parseFloat", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseFloat", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to a floating-point number.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string that contains a floating-point number.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "parseInt", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseInt", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to an integer.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string to convert into a number.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value between 2 and 36 that specifies the base of the number in `string`.\nIf this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\nAll other strings are considered decimal.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "RangeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "readonly", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "readonly", + "kind": "keyword" + } + ] + }, + { + "name": "ReferenceError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExp", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "return", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "return", + "kind": "keyword" + } + ] + }, + { + "name": "satisfies", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "satisfies", + "kind": "keyword" + } + ] + }, + { + "name": "string", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "string", + "kind": "keyword" + } + ] + }, + { + "name": "String", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allows manipulation and formatting of text strings and determination and location of substrings within strings.", + "kind": "text" + } + ] + }, + { + "name": "super", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "super", + "kind": "keyword" + } + ] + }, + { + "name": "switch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "switch", + "kind": "keyword" + } + ] + }, + { + "name": "symbol", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "symbol", + "kind": "keyword" + } + ] + }, + { + "name": "SyntaxError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "this", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "this", + "kind": "keyword" + } + ] + }, + { + "name": "throw", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "throw", + "kind": "keyword" + } + ] + }, + { + "name": "true", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "true", + "kind": "keyword" + } + ] + }, + { + "name": "try", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "try", + "kind": "keyword" + } + ] + }, + { + "name": "type", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + } + ] + }, + { + "name": "TypeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "typeof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "typeof", + "kind": "keyword" + } + ] + }, + { + "name": "Uint8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ClampedArray", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "undefined", + "kind": "var", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "undefined", + "kind": "propertyName" + } + ], + "documentation": [] + }, + { + "name": "unique", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unique", + "kind": "keyword" + } + ] + }, + { + "name": "unknown", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unknown", + "kind": "keyword" + } + ] + }, + { + "name": "URIError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "using", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "using", + "kind": "keyword" + } + ] + }, + { + "name": "var", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + } + ] + }, + { + "name": "void", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "void", + "kind": "keyword" + } + ] + }, + { + "name": "while", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "while", + "kind": "keyword" + } + ] + }, + { + "name": "with", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "with", + "kind": "keyword" + } + ] + }, + { + "name": "yield", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "yield", + "kind": "keyword" + } + ] + }, + { + "name": "escape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "escape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + }, + { + "name": "unescape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unescape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ";" + ] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersGlobal.ts", + "position": 181, + "name": "5" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": true, + "entries": [ + { + "name": "C", + "kind": "class", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + } + ], + "documentation": [] + }, + { + "name": "F", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "F", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "pred", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "func", + "kind": "function", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "func", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x1", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x2", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x2", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x3", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x3", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x4", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x4", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x6", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x6", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x7", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x7", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x8", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x9", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x10", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x10", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x11", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x11", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x12", + "kind": "let", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x12", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x13", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x13", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "abstract", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "abstract", + "kind": "keyword" + } + ] + }, + { + "name": "any", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "any", + "kind": "keyword" + } + ] + }, + { + "name": "Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBuffer", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Represents a raw buffer of binary data, which is used to store data for the\ndifferent typed arrays. ArrayBuffers cannot be read from or written to directly,\nbut can be passed to a typed array or DataView Object to interpret the raw\nbuffer as needed.", + "kind": "text" + } + ] + }, + { + "name": "as", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "as", + "kind": "keyword" + } + ] + }, + { + "name": "asserts", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "asserts", + "kind": "keyword" + } + ] + }, + { + "name": "async", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "async", + "kind": "keyword" + } + ] + }, + { + "name": "await", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "await", + "kind": "keyword" + } + ] + }, + { + "name": "bigint", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "bigint", + "kind": "keyword" + } + ] + }, + { + "name": "boolean", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "boolean", + "kind": "keyword" + } + ] + }, + { + "name": "Boolean", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "break", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "break", + "kind": "keyword" + } + ] + }, + { + "name": "case", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "case", + "kind": "keyword" + } + ] + }, + { + "name": "catch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "catch", + "kind": "keyword" + } + ] + }, + { + "name": "class", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + } + ] + }, + { + "name": "const", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + } + ] + }, + { + "name": "continue", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "continue", + "kind": "keyword" + } + ] + }, + { + "name": "DataView", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Date", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Enables basic storage and retrieval of dates and times.", + "kind": "text" + } + ] + }, + { + "name": "debugger", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "debugger", + "kind": "keyword" + } + ] + }, + { + "name": "declare", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "declare", + "kind": "keyword" + } + ] + }, + { + "name": "decodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "decodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "default", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "default", + "kind": "keyword" + } + ] + }, + { + "name": "delete", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "delete", + "kind": "keyword" + } + ] + }, + { + "name": "do", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "do", + "kind": "keyword" + } + ] + }, + { + "name": "else", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "else", + "kind": "keyword" + } + ] + }, + { + "name": "encodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid Uniform Resource Identifier (URI)", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "encodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "enum", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + } + ] + }, + { + "name": "Error", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "eval", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eval", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Evaluates JavaScript code and executes it.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "x", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A String value that contains valid JavaScript code.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "EvalError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "export", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "export", + "kind": "keyword" + } + ] + }, + { + "name": "extends", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "extends", + "kind": "keyword" + } + ] + }, + { + "name": "false", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "false", + "kind": "keyword" + } + ] + }, + { + "name": "finally", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "finally", + "kind": "keyword" + } + ] + }, + { + "name": "Float32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float64Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "for", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "for", + "kind": "keyword" + } + ] + }, + { + "name": "function", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + } + ] + }, + { + "name": "Function", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Creates a new function.", + "kind": "text" + } + ] + }, + { + "name": "globalThis", + "kind": "module", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "globalThis", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "if", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "if", + "kind": "keyword" + } + ] + }, + { + "name": "implements", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "implements", + "kind": "keyword" + } + ] + }, + { + "name": "import", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "import", + "kind": "keyword" + } + ] + }, + { + "name": "in", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "in", + "kind": "keyword" + } + ] + }, + { + "name": "infer", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "infer", + "kind": "keyword" + } + ] + }, + { + "name": "Infinity", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Infinity", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "instanceof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "instanceof", + "kind": "keyword" + } + ] + }, + { + "name": "Int8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "interface", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + } + ] + }, + { + "name": "Intl", + "kind": "module", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Intl", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "isFinite", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isFinite", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Determines whether a supplied number is finite.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Any numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "isNaN", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isNaN", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "JSON", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.", + "kind": "text" + } + ] + }, + { + "name": "keyof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "keyof", + "kind": "keyword" + } + ] + }, + { + "name": "let", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + } + ] + }, + { + "name": "Math", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides basic mathematics functionality and constants.", + "kind": "text" + } + ] + }, + { + "name": "module", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + } + ] + }, + { + "name": "namespace", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + } + ] + }, + { + "name": "NaN", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NaN", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "never", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "never", + "kind": "keyword" + } + ] + }, + { + "name": "new", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "new", + "kind": "keyword" + } + ] + }, + { + "name": "null", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "null", + "kind": "keyword" + } + ] + }, + { + "name": "number", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "number", + "kind": "keyword" + } + ] + }, + { + "name": "Number", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers.", + "kind": "text" + } + ] + }, + { + "name": "object", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "object", + "kind": "keyword" + } + ] + }, + { + "name": "Object", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Provides functionality common to all JavaScript objects.", + "kind": "text" + } + ] + }, + { + "name": "package", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "package", + "kind": "keyword" + } + ] + }, + { + "name": "parseFloat", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseFloat", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to a floating-point number.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string that contains a floating-point number.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "parseInt", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseInt", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to an integer.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string to convert into a number.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value between 2 and 36 that specifies the base of the number in `string`.\nIf this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\nAll other strings are considered decimal.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "RangeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "readonly", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "readonly", + "kind": "keyword" + } + ] + }, + { + "name": "ReferenceError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExp", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "return", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "return", + "kind": "keyword" + } + ] + }, + { + "name": "satisfies", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "satisfies", + "kind": "keyword" + } + ] + }, + { + "name": "string", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "string", + "kind": "keyword" + } + ] + }, + { + "name": "String", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allows manipulation and formatting of text strings and determination and location of substrings within strings.", + "kind": "text" + } + ] + }, + { + "name": "super", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "super", + "kind": "keyword" + } + ] + }, + { + "name": "switch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "switch", + "kind": "keyword" + } + ] + }, + { + "name": "symbol", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "symbol", + "kind": "keyword" + } + ] + }, + { + "name": "SyntaxError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "this", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "this", + "kind": "keyword" + } + ] + }, + { + "name": "throw", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "throw", + "kind": "keyword" + } + ] + }, + { + "name": "true", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "true", + "kind": "keyword" + } + ] + }, + { + "name": "try", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "try", + "kind": "keyword" + } + ] + }, + { + "name": "type", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + } + ] + }, + { + "name": "TypeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "typeof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "typeof", + "kind": "keyword" + } + ] + }, + { + "name": "Uint8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ClampedArray", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "undefined", + "kind": "var", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "undefined", + "kind": "propertyName" + } + ], + "documentation": [] + }, + { + "name": "unique", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unique", + "kind": "keyword" + } + ] + }, + { + "name": "unknown", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unknown", + "kind": "keyword" + } + ] + }, + { + "name": "URIError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "using", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "using", + "kind": "keyword" + } + ] + }, + { + "name": "var", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + } + ] + }, + { + "name": "void", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "void", + "kind": "keyword" + } + ] + }, + { + "name": "while", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "while", + "kind": "keyword" + } + ] + }, + { + "name": "with", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "with", + "kind": "keyword" + } + ] + }, + { + "name": "yield", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "yield", + "kind": "keyword" + } + ] + }, + { + "name": "escape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "escape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + }, + { + "name": "unescape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unescape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ";" + ] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersGlobal.ts", + "position": 198, + "name": "6" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": true, + "optionalReplacementSpan": { + "start": 197, + "length": 1 + }, + "entries": [ + { + "name": "C", + "kind": "class", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + } + ], + "documentation": [] + }, + { + "name": "F", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "F", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "pred", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "func", + "kind": "function", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "func", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x1", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x2", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x2", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x3", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x3", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x4", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x4", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x5", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x5", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x7", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x7", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x8", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x9", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x10", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x10", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x11", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x11", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x12", + "kind": "let", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x12", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x13", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x13", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "abstract", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "abstract", + "kind": "keyword" + } + ] + }, + { + "name": "any", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "any", + "kind": "keyword" + } + ] + }, + { + "name": "Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBuffer", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Represents a raw buffer of binary data, which is used to store data for the\ndifferent typed arrays. ArrayBuffers cannot be read from or written to directly,\nbut can be passed to a typed array or DataView Object to interpret the raw\nbuffer as needed.", + "kind": "text" + } + ] + }, + { + "name": "as", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "as", + "kind": "keyword" + } + ] + }, + { + "name": "asserts", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "asserts", + "kind": "keyword" + } + ] + }, + { + "name": "async", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "async", + "kind": "keyword" + } + ] + }, + { + "name": "await", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "await", + "kind": "keyword" + } + ] + }, + { + "name": "bigint", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "bigint", + "kind": "keyword" + } + ] + }, + { + "name": "boolean", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "boolean", + "kind": "keyword" + } + ] + }, + { + "name": "Boolean", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "break", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "break", + "kind": "keyword" + } + ] + }, + { + "name": "case", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "case", + "kind": "keyword" + } + ] + }, + { + "name": "catch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "catch", + "kind": "keyword" + } + ] + }, + { + "name": "class", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + } + ] + }, + { + "name": "const", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + } + ] + }, + { + "name": "continue", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "continue", + "kind": "keyword" + } + ] + }, + { + "name": "DataView", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Date", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Enables basic storage and retrieval of dates and times.", + "kind": "text" + } + ] + }, + { + "name": "debugger", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "debugger", + "kind": "keyword" + } + ] + }, + { + "name": "declare", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "declare", + "kind": "keyword" + } + ] + }, + { + "name": "decodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "decodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "default", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "default", + "kind": "keyword" + } + ] + }, + { + "name": "delete", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "delete", + "kind": "keyword" + } + ] + }, + { + "name": "do", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "do", + "kind": "keyword" + } + ] + }, + { + "name": "else", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "else", + "kind": "keyword" + } + ] + }, + { + "name": "encodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid Uniform Resource Identifier (URI)", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "encodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "enum", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + } + ] + }, + { + "name": "Error", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "eval", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eval", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Evaluates JavaScript code and executes it.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "x", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A String value that contains valid JavaScript code.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "EvalError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "export", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "export", + "kind": "keyword" + } + ] + }, + { + "name": "extends", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "extends", + "kind": "keyword" + } + ] + }, + { + "name": "false", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "false", + "kind": "keyword" + } + ] + }, + { + "name": "finally", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "finally", + "kind": "keyword" + } + ] + }, + { + "name": "Float32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float64Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "for", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "for", + "kind": "keyword" + } + ] + }, + { + "name": "function", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + } + ] + }, + { + "name": "Function", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Creates a new function.", + "kind": "text" + } + ] + }, + { + "name": "globalThis", + "kind": "module", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "globalThis", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "if", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "if", + "kind": "keyword" + } + ] + }, + { + "name": "implements", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "implements", + "kind": "keyword" + } + ] + }, + { + "name": "import", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "import", + "kind": "keyword" + } + ] + }, + { + "name": "in", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "in", + "kind": "keyword" + } + ] + }, + { + "name": "infer", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "infer", + "kind": "keyword" + } + ] + }, + { + "name": "Infinity", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Infinity", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "instanceof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "instanceof", + "kind": "keyword" + } + ] + }, + { + "name": "Int8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "interface", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + } + ] + }, + { + "name": "Intl", + "kind": "module", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Intl", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "isFinite", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isFinite", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Determines whether a supplied number is finite.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Any numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "isNaN", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isNaN", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "JSON", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.", + "kind": "text" + } + ] + }, + { + "name": "keyof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "keyof", + "kind": "keyword" + } + ] + }, + { + "name": "let", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + } + ] + }, + { + "name": "Math", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides basic mathematics functionality and constants.", + "kind": "text" + } + ] + }, + { + "name": "module", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + } + ] + }, + { + "name": "namespace", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + } + ] + }, + { + "name": "NaN", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NaN", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "never", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "never", + "kind": "keyword" + } + ] + }, + { + "name": "new", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "new", + "kind": "keyword" + } + ] + }, + { + "name": "null", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "null", + "kind": "keyword" + } + ] + }, + { + "name": "number", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "number", + "kind": "keyword" + } + ] + }, + { + "name": "Number", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers.", + "kind": "text" + } + ] + }, + { + "name": "object", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "object", + "kind": "keyword" + } + ] + }, + { + "name": "Object", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Provides functionality common to all JavaScript objects.", + "kind": "text" + } + ] + }, + { + "name": "package", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "package", + "kind": "keyword" + } + ] + }, + { + "name": "parseFloat", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseFloat", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to a floating-point number.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string that contains a floating-point number.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "parseInt", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseInt", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to an integer.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string to convert into a number.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value between 2 and 36 that specifies the base of the number in `string`.\nIf this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\nAll other strings are considered decimal.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "RangeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "readonly", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "readonly", + "kind": "keyword" + } + ] + }, + { + "name": "ReferenceError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExp", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "return", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "return", + "kind": "keyword" + } + ] + }, + { + "name": "satisfies", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "satisfies", + "kind": "keyword" + } + ] + }, + { + "name": "string", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "string", + "kind": "keyword" + } + ] + }, + { + "name": "String", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allows manipulation and formatting of text strings and determination and location of substrings within strings.", + "kind": "text" + } + ] + }, + { + "name": "super", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "super", + "kind": "keyword" + } + ] + }, + { + "name": "switch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "switch", + "kind": "keyword" + } + ] + }, + { + "name": "symbol", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "symbol", + "kind": "keyword" + } + ] + }, + { + "name": "SyntaxError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "this", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "this", + "kind": "keyword" + } + ] + }, + { + "name": "throw", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "throw", + "kind": "keyword" + } + ] + }, + { + "name": "true", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "true", + "kind": "keyword" + } + ] + }, + { + "name": "try", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "try", + "kind": "keyword" + } + ] + }, + { + "name": "type", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + } + ] + }, + { + "name": "TypeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "typeof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "typeof", + "kind": "keyword" + } + ] + }, + { + "name": "Uint8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ClampedArray", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "undefined", + "kind": "var", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "undefined", + "kind": "propertyName" + } + ], + "documentation": [] + }, + { + "name": "unique", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unique", + "kind": "keyword" + } + ] + }, + { + "name": "unknown", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unknown", + "kind": "keyword" + } + ] + }, + { + "name": "URIError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "using", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "using", + "kind": "keyword" + } + ] + }, + { + "name": "var", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + } + ] + }, + { + "name": "void", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "void", + "kind": "keyword" + } + ] + }, + { + "name": "while", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "while", + "kind": "keyword" + } + ] + }, + { + "name": "with", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "with", + "kind": "keyword" + } + ] + }, + { + "name": "yield", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "yield", + "kind": "keyword" + } + ] + }, + { + "name": "escape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "escape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + }, + { + "name": "unescape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unescape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ";" + ] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersGlobal.ts", + "position": 216, + "name": "7" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": true, + "optionalReplacementSpan": { + "start": 215, + "length": 1 + }, + "entries": [ + { + "name": "C", + "kind": "class", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + } + ], + "documentation": [] + }, + { + "name": "F", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "F", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "pred", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "func", + "kind": "function", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "func", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x1", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x2", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x2", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x3", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x3", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x4", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x4", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x5", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x5", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x6", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x6", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x8", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x9", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x10", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x10", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x11", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x11", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x12", + "kind": "let", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x12", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x13", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x13", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "abstract", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "abstract", + "kind": "keyword" + } + ] + }, + { + "name": "any", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "any", + "kind": "keyword" + } + ] + }, + { + "name": "Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBuffer", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Represents a raw buffer of binary data, which is used to store data for the\ndifferent typed arrays. ArrayBuffers cannot be read from or written to directly,\nbut can be passed to a typed array or DataView Object to interpret the raw\nbuffer as needed.", + "kind": "text" + } + ] + }, + { + "name": "as", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "as", + "kind": "keyword" + } + ] + }, + { + "name": "asserts", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "asserts", + "kind": "keyword" + } + ] + }, + { + "name": "async", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "async", + "kind": "keyword" + } + ] + }, + { + "name": "await", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "await", + "kind": "keyword" + } + ] + }, + { + "name": "bigint", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "bigint", + "kind": "keyword" + } + ] + }, + { + "name": "boolean", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "boolean", + "kind": "keyword" + } + ] + }, + { + "name": "Boolean", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "break", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "break", + "kind": "keyword" + } + ] + }, + { + "name": "case", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "case", + "kind": "keyword" + } + ] + }, + { + "name": "catch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "catch", + "kind": "keyword" + } + ] + }, + { + "name": "class", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + } + ] + }, + { + "name": "const", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + } + ] + }, + { + "name": "continue", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "continue", + "kind": "keyword" + } + ] + }, + { + "name": "DataView", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Date", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Enables basic storage and retrieval of dates and times.", + "kind": "text" + } + ] + }, + { + "name": "debugger", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "debugger", + "kind": "keyword" + } + ] + }, + { + "name": "declare", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "declare", + "kind": "keyword" + } + ] + }, + { + "name": "decodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "decodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "default", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "default", + "kind": "keyword" + } + ] + }, + { + "name": "delete", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "delete", + "kind": "keyword" + } + ] + }, + { + "name": "do", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "do", + "kind": "keyword" + } + ] + }, + { + "name": "else", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "else", + "kind": "keyword" + } + ] + }, + { + "name": "encodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid Uniform Resource Identifier (URI)", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "encodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "enum", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + } + ] + }, + { + "name": "Error", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "eval", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eval", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Evaluates JavaScript code and executes it.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "x", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A String value that contains valid JavaScript code.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "EvalError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "export", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "export", + "kind": "keyword" + } + ] + }, + { + "name": "extends", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "extends", + "kind": "keyword" + } + ] + }, + { + "name": "false", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "false", + "kind": "keyword" + } + ] + }, + { + "name": "finally", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "finally", + "kind": "keyword" + } + ] + }, + { + "name": "Float32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float64Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "for", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "for", + "kind": "keyword" + } + ] + }, + { + "name": "function", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + } + ] + }, + { + "name": "Function", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Creates a new function.", + "kind": "text" + } + ] + }, + { + "name": "globalThis", + "kind": "module", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "globalThis", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "if", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "if", + "kind": "keyword" + } + ] + }, + { + "name": "implements", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "implements", + "kind": "keyword" + } + ] + }, + { + "name": "import", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "import", + "kind": "keyword" + } + ] + }, + { + "name": "in", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "in", + "kind": "keyword" + } + ] + }, + { + "name": "infer", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "infer", + "kind": "keyword" + } + ] + }, + { + "name": "Infinity", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Infinity", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "instanceof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "instanceof", + "kind": "keyword" + } + ] + }, + { + "name": "Int8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "interface", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + } + ] + }, + { + "name": "Intl", + "kind": "module", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Intl", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "isFinite", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isFinite", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Determines whether a supplied number is finite.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Any numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "isNaN", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isNaN", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "JSON", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.", + "kind": "text" + } + ] + }, + { + "name": "keyof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "keyof", + "kind": "keyword" + } + ] + }, + { + "name": "let", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + } + ] + }, + { + "name": "Math", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides basic mathematics functionality and constants.", + "kind": "text" + } + ] + }, + { + "name": "module", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + } + ] + }, + { + "name": "namespace", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + } + ] + }, + { + "name": "NaN", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NaN", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "never", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "never", + "kind": "keyword" + } + ] + }, + { + "name": "new", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "new", + "kind": "keyword" + } + ] + }, + { + "name": "null", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "null", + "kind": "keyword" + } + ] + }, + { + "name": "number", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "number", + "kind": "keyword" + } + ] + }, + { + "name": "Number", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers.", + "kind": "text" + } + ] + }, + { + "name": "object", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "object", + "kind": "keyword" + } + ] + }, + { + "name": "Object", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Provides functionality common to all JavaScript objects.", + "kind": "text" + } + ] + }, + { + "name": "package", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "package", + "kind": "keyword" + } + ] + }, + { + "name": "parseFloat", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseFloat", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to a floating-point number.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string that contains a floating-point number.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "parseInt", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseInt", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to an integer.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string to convert into a number.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value between 2 and 36 that specifies the base of the number in `string`.\nIf this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\nAll other strings are considered decimal.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "RangeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "readonly", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "readonly", + "kind": "keyword" + } + ] + }, + { + "name": "ReferenceError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExp", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "return", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "return", + "kind": "keyword" + } + ] + }, + { + "name": "satisfies", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "satisfies", + "kind": "keyword" + } + ] + }, + { + "name": "string", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "string", + "kind": "keyword" + } + ] + }, + { + "name": "String", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allows manipulation and formatting of text strings and determination and location of substrings within strings.", + "kind": "text" + } + ] + }, + { + "name": "super", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "super", + "kind": "keyword" + } + ] + }, + { + "name": "switch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "switch", + "kind": "keyword" + } + ] + }, + { + "name": "symbol", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "symbol", + "kind": "keyword" + } + ] + }, + { + "name": "SyntaxError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "this", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "this", + "kind": "keyword" + } + ] + }, + { + "name": "throw", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "throw", + "kind": "keyword" + } + ] + }, + { + "name": "true", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "true", + "kind": "keyword" + } + ] + }, + { + "name": "try", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "try", + "kind": "keyword" + } + ] + }, + { + "name": "type", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + } + ] + }, + { + "name": "TypeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "typeof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "typeof", + "kind": "keyword" + } + ] + }, + { + "name": "Uint8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ClampedArray", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "undefined", + "kind": "var", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "undefined", + "kind": "propertyName" + } + ], + "documentation": [] + }, + { + "name": "unique", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unique", + "kind": "keyword" + } + ] + }, + { + "name": "unknown", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unknown", + "kind": "keyword" + } + ] + }, + { + "name": "URIError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "using", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "using", + "kind": "keyword" + } + ] + }, + { + "name": "var", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + } + ] + }, + { + "name": "void", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "void", + "kind": "keyword" + } + ] + }, + { + "name": "while", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "while", + "kind": "keyword" + } + ] + }, + { + "name": "with", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "with", + "kind": "keyword" + } + ] + }, + { + "name": "yield", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "yield", + "kind": "keyword" + } + ] + }, + { + "name": "escape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "escape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + }, + { + "name": "unescape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unescape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ";" + ] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersGlobal.ts", + "position": 230, + "name": "8" + }, + "item": {} + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersGlobal.ts", + "position": 258, + "name": "9" + }, + "item": {} + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersGlobal.ts", + "position": 272, + "name": "10" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": true, + "entries": [ + { + "name": "C", + "kind": "class", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + } + ], + "documentation": [] + }, + { + "name": "F", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "F", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "pred", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "func", + "kind": "function", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "func", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x1", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x2", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x2", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x3", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x3", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x4", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x4", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x5", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x5", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x6", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x6", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x7", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x7", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x8", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x9", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x11", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x11", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x12", + "kind": "let", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x12", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x13", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x13", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "abstract", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "abstract", + "kind": "keyword" + } + ] + }, + { + "name": "any", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "any", + "kind": "keyword" + } + ] + }, + { + "name": "Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBuffer", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Represents a raw buffer of binary data, which is used to store data for the\ndifferent typed arrays. ArrayBuffers cannot be read from or written to directly,\nbut can be passed to a typed array or DataView Object to interpret the raw\nbuffer as needed.", + "kind": "text" + } + ] + }, + { + "name": "as", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "as", + "kind": "keyword" + } + ] + }, + { + "name": "asserts", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "asserts", + "kind": "keyword" + } + ] + }, + { + "name": "async", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "async", + "kind": "keyword" + } + ] + }, + { + "name": "await", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "await", + "kind": "keyword" + } + ] + }, + { + "name": "bigint", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "bigint", + "kind": "keyword" + } + ] + }, + { + "name": "boolean", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "boolean", + "kind": "keyword" + } + ] + }, + { + "name": "Boolean", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "break", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "break", + "kind": "keyword" + } + ] + }, + { + "name": "case", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "case", + "kind": "keyword" + } + ] + }, + { + "name": "catch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "catch", + "kind": "keyword" + } + ] + }, + { + "name": "class", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + } + ] + }, + { + "name": "const", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + } + ] + }, + { + "name": "continue", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "continue", + "kind": "keyword" + } + ] + }, + { + "name": "DataView", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Date", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Enables basic storage and retrieval of dates and times.", + "kind": "text" + } + ] + }, + { + "name": "debugger", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "debugger", + "kind": "keyword" + } + ] + }, + { + "name": "declare", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "declare", + "kind": "keyword" + } + ] + }, + { + "name": "decodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "decodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "default", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "default", + "kind": "keyword" + } + ] + }, + { + "name": "delete", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "delete", + "kind": "keyword" + } + ] + }, + { + "name": "do", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "do", + "kind": "keyword" + } + ] + }, + { + "name": "else", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "else", + "kind": "keyword" + } + ] + }, + { + "name": "encodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid Uniform Resource Identifier (URI)", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "encodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "enum", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + } + ] + }, + { + "name": "Error", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "eval", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eval", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Evaluates JavaScript code and executes it.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "x", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A String value that contains valid JavaScript code.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "EvalError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "export", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "export", + "kind": "keyword" + } + ] + }, + { + "name": "extends", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "extends", + "kind": "keyword" + } + ] + }, + { + "name": "false", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "false", + "kind": "keyword" + } + ] + }, + { + "name": "finally", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "finally", + "kind": "keyword" + } + ] + }, + { + "name": "Float32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float64Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "for", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "for", + "kind": "keyword" + } + ] + }, + { + "name": "function", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + } + ] + }, + { + "name": "Function", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Creates a new function.", + "kind": "text" + } + ] + }, + { + "name": "globalThis", + "kind": "module", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "globalThis", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "if", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "if", + "kind": "keyword" + } + ] + }, + { + "name": "implements", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "implements", + "kind": "keyword" + } + ] + }, + { + "name": "import", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "import", + "kind": "keyword" + } + ] + }, + { + "name": "in", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "in", + "kind": "keyword" + } + ] + }, + { + "name": "infer", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "infer", + "kind": "keyword" + } + ] + }, + { + "name": "Infinity", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Infinity", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "instanceof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "instanceof", + "kind": "keyword" + } + ] + }, + { + "name": "Int8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "interface", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + } + ] + }, + { + "name": "Intl", + "kind": "module", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Intl", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "isFinite", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isFinite", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Determines whether a supplied number is finite.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Any numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "isNaN", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isNaN", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "JSON", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.", + "kind": "text" + } + ] + }, + { + "name": "keyof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "keyof", + "kind": "keyword" + } + ] + }, + { + "name": "let", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + } + ] + }, + { + "name": "Math", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides basic mathematics functionality and constants.", + "kind": "text" + } + ] + }, + { + "name": "module", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + } + ] + }, + { + "name": "namespace", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + } + ] + }, + { + "name": "NaN", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NaN", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "never", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "never", + "kind": "keyword" + } + ] + }, + { + "name": "new", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "new", + "kind": "keyword" + } + ] + }, + { + "name": "null", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "null", + "kind": "keyword" + } + ] + }, + { + "name": "number", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "number", + "kind": "keyword" + } + ] + }, + { + "name": "Number", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers.", + "kind": "text" + } + ] + }, + { + "name": "object", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "object", + "kind": "keyword" + } + ] + }, + { + "name": "Object", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Provides functionality common to all JavaScript objects.", + "kind": "text" + } + ] + }, + { + "name": "package", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "package", + "kind": "keyword" + } + ] + }, + { + "name": "parseFloat", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseFloat", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to a floating-point number.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string that contains a floating-point number.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "parseInt", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseInt", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to an integer.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string to convert into a number.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value between 2 and 36 that specifies the base of the number in `string`.\nIf this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\nAll other strings are considered decimal.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "RangeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "readonly", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "readonly", + "kind": "keyword" + } + ] + }, + { + "name": "ReferenceError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExp", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "return", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "return", + "kind": "keyword" + } + ] + }, + { + "name": "satisfies", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "satisfies", + "kind": "keyword" + } + ] + }, + { + "name": "string", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "string", + "kind": "keyword" + } + ] + }, + { + "name": "String", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allows manipulation and formatting of text strings and determination and location of substrings within strings.", + "kind": "text" + } + ] + }, + { + "name": "super", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "super", + "kind": "keyword" + } + ] + }, + { + "name": "switch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "switch", + "kind": "keyword" + } + ] + }, + { + "name": "symbol", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "symbol", + "kind": "keyword" + } + ] + }, + { + "name": "SyntaxError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "this", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "this", + "kind": "keyword" + } + ] + }, + { + "name": "throw", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "throw", + "kind": "keyword" + } + ] + }, + { + "name": "true", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "true", + "kind": "keyword" + } + ] + }, + { + "name": "try", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "try", + "kind": "keyword" + } + ] + }, + { + "name": "type", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + } + ] + }, + { + "name": "TypeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "typeof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "typeof", + "kind": "keyword" + } + ] + }, + { + "name": "Uint8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ClampedArray", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "undefined", + "kind": "var", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "undefined", + "kind": "propertyName" + } + ], + "documentation": [] + }, + { + "name": "unique", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unique", + "kind": "keyword" + } + ] + }, + { + "name": "unknown", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unknown", + "kind": "keyword" + } + ] + }, + { + "name": "URIError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "using", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "using", + "kind": "keyword" + } + ] + }, + { + "name": "var", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + } + ] + }, + { + "name": "void", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "void", + "kind": "keyword" + } + ] + }, + { + "name": "while", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "while", + "kind": "keyword" + } + ] + }, + { + "name": "with", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "with", + "kind": "keyword" + } + ] + }, + { + "name": "yield", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "yield", + "kind": "keyword" + } + ] + }, + { + "name": "escape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "escape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + }, + { + "name": "unescape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unescape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersGlobal.ts", + "position": 304, + "name": "12" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": true, + "entries": [ + { + "name": "C", + "kind": "class", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + } + ], + "documentation": [] + }, + { + "name": "F", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "F", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "pred", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "func", + "kind": "function", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "func", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x1", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x2", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x2", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x3", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x3", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x4", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x4", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x5", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x5", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x6", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x6", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x7", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x7", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x8", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x9", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x10", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x10", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x11", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x11", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x12", + "kind": "let", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x12", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x13", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x13", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "abstract", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "abstract", + "kind": "keyword" + } + ] + }, + { + "name": "any", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "any", + "kind": "keyword" + } + ] + }, + { + "name": "Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBuffer", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Represents a raw buffer of binary data, which is used to store data for the\ndifferent typed arrays. ArrayBuffers cannot be read from or written to directly,\nbut can be passed to a typed array or DataView Object to interpret the raw\nbuffer as needed.", + "kind": "text" + } + ] + }, + { + "name": "as", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "as", + "kind": "keyword" + } + ] + }, + { + "name": "asserts", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "asserts", + "kind": "keyword" + } + ] + }, + { + "name": "async", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "async", + "kind": "keyword" + } + ] + }, + { + "name": "await", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "await", + "kind": "keyword" + } + ] + }, + { + "name": "bigint", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "bigint", + "kind": "keyword" + } + ] + }, + { + "name": "boolean", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "boolean", + "kind": "keyword" + } + ] + }, + { + "name": "Boolean", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "break", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "break", + "kind": "keyword" + } + ] + }, + { + "name": "case", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "case", + "kind": "keyword" + } + ] + }, + { + "name": "catch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "catch", + "kind": "keyword" + } + ] + }, + { + "name": "class", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + } + ] + }, + { + "name": "const", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + } + ] + }, + { + "name": "continue", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "continue", + "kind": "keyword" + } + ] + }, + { + "name": "DataView", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Date", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Enables basic storage and retrieval of dates and times.", + "kind": "text" + } + ] + }, + { + "name": "debugger", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "debugger", + "kind": "keyword" + } + ] + }, + { + "name": "declare", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "declare", + "kind": "keyword" + } + ] + }, + { + "name": "decodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "decodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "default", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "default", + "kind": "keyword" + } + ] + }, + { + "name": "delete", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "delete", + "kind": "keyword" + } + ] + }, + { + "name": "do", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "do", + "kind": "keyword" + } + ] + }, + { + "name": "else", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "else", + "kind": "keyword" + } + ] + }, + { + "name": "encodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid Uniform Resource Identifier (URI)", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "encodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "enum", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + } + ] + }, + { + "name": "Error", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "eval", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eval", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Evaluates JavaScript code and executes it.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "x", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A String value that contains valid JavaScript code.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "EvalError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "export", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "export", + "kind": "keyword" + } + ] + }, + { + "name": "extends", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "extends", + "kind": "keyword" + } + ] + }, + { + "name": "false", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "false", + "kind": "keyword" + } + ] + }, + { + "name": "finally", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "finally", + "kind": "keyword" + } + ] + }, + { + "name": "Float32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float64Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "for", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "for", + "kind": "keyword" + } + ] + }, + { + "name": "function", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + } + ] + }, + { + "name": "Function", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Creates a new function.", + "kind": "text" + } + ] + }, + { + "name": "globalThis", + "kind": "module", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "globalThis", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "if", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "if", + "kind": "keyword" + } + ] + }, + { + "name": "implements", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "implements", + "kind": "keyword" + } + ] + }, + { + "name": "import", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "import", + "kind": "keyword" + } + ] + }, + { + "name": "in", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "in", + "kind": "keyword" + } + ] + }, + { + "name": "infer", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "infer", + "kind": "keyword" + } + ] + }, + { + "name": "Infinity", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Infinity", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "instanceof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "instanceof", + "kind": "keyword" + } + ] + }, + { + "name": "Int8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "interface", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + } + ] + }, + { + "name": "Intl", + "kind": "module", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Intl", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "isFinite", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isFinite", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Determines whether a supplied number is finite.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Any numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "isNaN", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isNaN", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "JSON", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.", + "kind": "text" + } + ] + }, + { + "name": "keyof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "keyof", + "kind": "keyword" + } + ] + }, + { + "name": "let", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + } + ] + }, + { + "name": "Math", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides basic mathematics functionality and constants.", + "kind": "text" + } + ] + }, + { + "name": "module", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + } + ] + }, + { + "name": "namespace", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + } + ] + }, + { + "name": "NaN", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NaN", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "never", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "never", + "kind": "keyword" + } + ] + }, + { + "name": "new", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "new", + "kind": "keyword" + } + ] + }, + { + "name": "null", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "null", + "kind": "keyword" + } + ] + }, + { + "name": "number", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "number", + "kind": "keyword" + } + ] + }, + { + "name": "Number", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers.", + "kind": "text" + } + ] + }, + { + "name": "object", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "object", + "kind": "keyword" + } + ] + }, + { + "name": "Object", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Provides functionality common to all JavaScript objects.", + "kind": "text" + } + ] + }, + { + "name": "package", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "package", + "kind": "keyword" + } + ] + }, + { + "name": "parseFloat", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseFloat", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to a floating-point number.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string that contains a floating-point number.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "parseInt", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseInt", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to an integer.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string to convert into a number.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value between 2 and 36 that specifies the base of the number in `string`.\nIf this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\nAll other strings are considered decimal.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "RangeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "readonly", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "readonly", + "kind": "keyword" + } + ] + }, + { + "name": "ReferenceError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExp", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "return", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "return", + "kind": "keyword" + } + ] + }, + { + "name": "satisfies", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "satisfies", + "kind": "keyword" + } + ] + }, + { + "name": "string", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "string", + "kind": "keyword" + } + ] + }, + { + "name": "String", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allows manipulation and formatting of text strings and determination and location of substrings within strings.", + "kind": "text" + } + ] + }, + { + "name": "super", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "super", + "kind": "keyword" + } + ] + }, + { + "name": "switch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "switch", + "kind": "keyword" + } + ] + }, + { + "name": "symbol", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "symbol", + "kind": "keyword" + } + ] + }, + { + "name": "SyntaxError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "this", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "this", + "kind": "keyword" + } + ] + }, + { + "name": "throw", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "throw", + "kind": "keyword" + } + ] + }, + { + "name": "true", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "true", + "kind": "keyword" + } + ] + }, + { + "name": "try", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "try", + "kind": "keyword" + } + ] + }, + { + "name": "type", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + } + ] + }, + { + "name": "TypeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "typeof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "typeof", + "kind": "keyword" + } + ] + }, + { + "name": "Uint8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ClampedArray", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "undefined", + "kind": "var", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "undefined", + "kind": "propertyName" + } + ], + "documentation": [] + }, + { + "name": "unique", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unique", + "kind": "keyword" + } + ] + }, + { + "name": "unknown", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unknown", + "kind": "keyword" + } + ] + }, + { + "name": "URIError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "using", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "using", + "kind": "keyword" + } + ] + }, + { + "name": "var", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + } + ] + }, + { + "name": "void", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "void", + "kind": "keyword" + } + ] + }, + { + "name": "while", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "while", + "kind": "keyword" + } + ] + }, + { + "name": "with", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "with", + "kind": "keyword" + } + ] + }, + { + "name": "yield", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "yield", + "kind": "keyword" + } + ] + }, + { + "name": "escape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "escape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + }, + { + "name": "unescape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unescape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersGlobal.ts", + "position": 327, + "name": "13" + }, + "item": { + "flags": 0, + "isGlobalCompletion": true, + "isMemberCompletion": false, + "isNewIdentifierLocation": true, + "optionalReplacementSpan": { + "start": 327, + "length": 0 + }, + "entries": [ + { + "name": "C", + "kind": "class", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + } + ], + "documentation": [] + }, + { + "name": "F", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "F", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "pred", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "func", + "kind": "function", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "func", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x1", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x2", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x2", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x3", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x3", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x4", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x4", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x5", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x5", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x6", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x6", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x7", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x7", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x8", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x9", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x10", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x10", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x11", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x11", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x12", + "kind": "let", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x12", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "abstract", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "abstract", + "kind": "keyword" + } + ] + }, + { + "name": "any", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "any", + "kind": "keyword" + } + ] + }, + { + "name": "Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBuffer", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Represents a raw buffer of binary data, which is used to store data for the\ndifferent typed arrays. ArrayBuffers cannot be read from or written to directly,\nbut can be passed to a typed array or DataView Object to interpret the raw\nbuffer as needed.", + "kind": "text" + } + ] + }, + { + "name": "as", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "as", + "kind": "keyword" + } + ] + }, + { + "name": "asserts", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "asserts", + "kind": "keyword" + } + ] + }, + { + "name": "async", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "async", + "kind": "keyword" + } + ] + }, + { + "name": "await", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "await", + "kind": "keyword" + } + ] + }, + { + "name": "bigint", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "bigint", + "kind": "keyword" + } + ] + }, + { + "name": "boolean", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "boolean", + "kind": "keyword" + } + ] + }, + { + "name": "Boolean", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "break", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "break", + "kind": "keyword" + } + ] + }, + { + "name": "case", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "case", + "kind": "keyword" + } + ] + }, + { + "name": "catch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "catch", + "kind": "keyword" + } + ] + }, + { + "name": "class", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + } + ] + }, + { + "name": "const", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + } + ] + }, + { + "name": "continue", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "continue", + "kind": "keyword" + } + ] + }, + { + "name": "DataView", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Date", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Enables basic storage and retrieval of dates and times.", + "kind": "text" + } + ] + }, + { + "name": "debugger", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "debugger", + "kind": "keyword" + } + ] + }, + { + "name": "declare", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "declare", + "kind": "keyword" + } + ] + }, + { + "name": "decodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "decodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "default", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "default", + "kind": "keyword" + } + ] + }, + { + "name": "delete", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "delete", + "kind": "keyword" + } + ] + }, + { + "name": "do", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "do", + "kind": "keyword" + } + ] + }, + { + "name": "else", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "else", + "kind": "keyword" + } + ] + }, + { + "name": "encodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid Uniform Resource Identifier (URI)", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "encodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "enum", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + } + ] + }, + { + "name": "Error", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "eval", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eval", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Evaluates JavaScript code and executes it.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "x", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A String value that contains valid JavaScript code.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "EvalError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "export", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "export", + "kind": "keyword" + } + ] + }, + { + "name": "extends", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "extends", + "kind": "keyword" + } + ] + }, + { + "name": "false", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "false", + "kind": "keyword" + } + ] + }, + { + "name": "finally", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "finally", + "kind": "keyword" + } + ] + }, + { + "name": "Float32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float64Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "for", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "for", + "kind": "keyword" + } + ] + }, + { + "name": "function", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + } + ] + }, + { + "name": "Function", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Creates a new function.", + "kind": "text" + } + ] + }, + { + "name": "globalThis", + "kind": "module", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "globalThis", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "if", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "if", + "kind": "keyword" + } + ] + }, + { + "name": "implements", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "implements", + "kind": "keyword" + } + ] + }, + { + "name": "import", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "import", + "kind": "keyword" + } + ] + }, + { + "name": "in", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "in", + "kind": "keyword" + } + ] + }, + { + "name": "infer", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "infer", + "kind": "keyword" + } + ] + }, + { + "name": "Infinity", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Infinity", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "instanceof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "instanceof", + "kind": "keyword" + } + ] + }, + { + "name": "Int8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "interface", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + } + ] + }, + { + "name": "Intl", + "kind": "module", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Intl", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "isFinite", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isFinite", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Determines whether a supplied number is finite.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Any numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "isNaN", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isNaN", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "JSON", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.", + "kind": "text" + } + ] + }, + { + "name": "keyof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "keyof", + "kind": "keyword" + } + ] + }, + { + "name": "let", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + } + ] + }, + { + "name": "Math", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides basic mathematics functionality and constants.", + "kind": "text" + } + ] + }, + { + "name": "module", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + } + ] + }, + { + "name": "namespace", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + } + ] + }, + { + "name": "NaN", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NaN", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "never", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "never", + "kind": "keyword" + } + ] + }, + { + "name": "new", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "new", + "kind": "keyword" + } + ] + }, + { + "name": "null", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "null", + "kind": "keyword" + } + ] + }, + { + "name": "number", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "number", + "kind": "keyword" + } + ] + }, + { + "name": "Number", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers.", + "kind": "text" + } + ] + }, + { + "name": "object", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "object", + "kind": "keyword" + } + ] + }, + { + "name": "Object", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Provides functionality common to all JavaScript objects.", + "kind": "text" + } + ] + }, + { + "name": "package", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "package", + "kind": "keyword" + } + ] + }, + { + "name": "parseFloat", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseFloat", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to a floating-point number.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string that contains a floating-point number.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "parseInt", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseInt", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to an integer.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string to convert into a number.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value between 2 and 36 that specifies the base of the number in `string`.\nIf this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\nAll other strings are considered decimal.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "RangeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "readonly", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "readonly", + "kind": "keyword" + } + ] + }, + { + "name": "ReferenceError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExp", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "return", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "return", + "kind": "keyword" + } + ] + }, + { + "name": "satisfies", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "satisfies", + "kind": "keyword" + } + ] + }, + { + "name": "string", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "string", + "kind": "keyword" + } + ] + }, + { + "name": "String", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allows manipulation and formatting of text strings and determination and location of substrings within strings.", + "kind": "text" + } + ] + }, + { + "name": "super", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "super", + "kind": "keyword" + } + ] + }, + { + "name": "switch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "switch", + "kind": "keyword" + } + ] + }, + { + "name": "symbol", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "symbol", + "kind": "keyword" + } + ] + }, + { + "name": "SyntaxError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "this", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "this", + "kind": "keyword" + } + ] + }, + { + "name": "throw", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "throw", + "kind": "keyword" + } + ] + }, + { + "name": "true", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "true", + "kind": "keyword" + } + ] + }, + { + "name": "try", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "try", + "kind": "keyword" + } + ] + }, + { + "name": "type", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + } + ] + }, + { + "name": "TypeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "typeof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "typeof", + "kind": "keyword" + } + ] + }, + { + "name": "Uint8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ClampedArray", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "undefined", + "kind": "var", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "undefined", + "kind": "propertyName" + } + ], + "documentation": [] + }, + { + "name": "unique", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unique", + "kind": "keyword" + } + ] + }, + { + "name": "unknown", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unknown", + "kind": "keyword" + } + ] + }, + { + "name": "URIError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "using", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "using", + "kind": "keyword" + } + ] + }, + { + "name": "var", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + } + ] + }, + { + "name": "void", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "void", + "kind": "keyword" + } + ] + }, + { + "name": "while", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "while", + "kind": "keyword" + } + ] + }, + { + "name": "with", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "with", + "kind": "keyword" + } + ] + }, + { + "name": "yield", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "yield", + "kind": "keyword" + } + ] + }, + { + "name": "escape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "escape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + }, + { + "name": "unescape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unescape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersGlobal.ts", + "position": 352, + "name": "14" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": true, + "entries": [ + { + "name": "C", + "kind": "class", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + } + ], + "documentation": [] + }, + { + "name": "F", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "F", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "pred", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "func", + "kind": "function", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "func", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x1", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x2", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x2", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x3", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x3", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x4", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x4", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x5", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x5", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x6", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x6", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x7", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x7", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x8", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x9", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x10", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x10", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x11", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x11", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x12", + "kind": "let", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x12", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x13", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x13", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "abstract", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "abstract", + "kind": "keyword" + } + ] + }, + { + "name": "any", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "any", + "kind": "keyword" + } + ] + }, + { + "name": "Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBuffer", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Represents a raw buffer of binary data, which is used to store data for the\ndifferent typed arrays. ArrayBuffers cannot be read from or written to directly,\nbut can be passed to a typed array or DataView Object to interpret the raw\nbuffer as needed.", + "kind": "text" + } + ] + }, + { + "name": "as", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "as", + "kind": "keyword" + } + ] + }, + { + "name": "asserts", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "asserts", + "kind": "keyword" + } + ] + }, + { + "name": "async", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "async", + "kind": "keyword" + } + ] + }, + { + "name": "await", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "await", + "kind": "keyword" + } + ] + }, + { + "name": "bigint", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "bigint", + "kind": "keyword" + } + ] + }, + { + "name": "boolean", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "boolean", + "kind": "keyword" + } + ] + }, + { + "name": "Boolean", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "break", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "break", + "kind": "keyword" + } + ] + }, + { + "name": "case", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "case", + "kind": "keyword" + } + ] + }, + { + "name": "catch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "catch", + "kind": "keyword" + } + ] + }, + { + "name": "class", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + } + ] + }, + { + "name": "const", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + } + ] + }, + { + "name": "continue", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "continue", + "kind": "keyword" + } + ] + }, + { + "name": "DataView", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Date", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Enables basic storage and retrieval of dates and times.", + "kind": "text" + } + ] + }, + { + "name": "debugger", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "debugger", + "kind": "keyword" + } + ] + }, + { + "name": "declare", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "declare", + "kind": "keyword" + } + ] + }, + { + "name": "decodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "decodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "default", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "default", + "kind": "keyword" + } + ] + }, + { + "name": "delete", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "delete", + "kind": "keyword" + } + ] + }, + { + "name": "do", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "do", + "kind": "keyword" + } + ] + }, + { + "name": "else", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "else", + "kind": "keyword" + } + ] + }, + { + "name": "encodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid Uniform Resource Identifier (URI)", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "encodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "enum", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + } + ] + }, + { + "name": "Error", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "eval", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eval", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Evaluates JavaScript code and executes it.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "x", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A String value that contains valid JavaScript code.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "EvalError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "export", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "export", + "kind": "keyword" + } + ] + }, + { + "name": "extends", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "extends", + "kind": "keyword" + } + ] + }, + { + "name": "false", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "false", + "kind": "keyword" + } + ] + }, + { + "name": "finally", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "finally", + "kind": "keyword" + } + ] + }, + { + "name": "Float32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float64Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "for", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "for", + "kind": "keyword" + } + ] + }, + { + "name": "function", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + } + ] + }, + { + "name": "Function", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Creates a new function.", + "kind": "text" + } + ] + }, + { + "name": "globalThis", + "kind": "module", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "globalThis", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "if", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "if", + "kind": "keyword" + } + ] + }, + { + "name": "implements", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "implements", + "kind": "keyword" + } + ] + }, + { + "name": "import", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "import", + "kind": "keyword" + } + ] + }, + { + "name": "in", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "in", + "kind": "keyword" + } + ] + }, + { + "name": "infer", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "infer", + "kind": "keyword" + } + ] + }, + { + "name": "Infinity", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Infinity", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "instanceof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "instanceof", + "kind": "keyword" + } + ] + }, + { + "name": "Int8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "interface", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + } + ] + }, + { + "name": "Intl", + "kind": "module", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Intl", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "isFinite", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isFinite", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Determines whether a supplied number is finite.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Any numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "isNaN", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isNaN", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "JSON", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.", + "kind": "text" + } + ] + }, + { + "name": "keyof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "keyof", + "kind": "keyword" + } + ] + }, + { + "name": "let", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + } + ] + }, + { + "name": "Math", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides basic mathematics functionality and constants.", + "kind": "text" + } + ] + }, + { + "name": "module", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + } + ] + }, + { + "name": "namespace", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + } + ] + }, + { + "name": "NaN", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NaN", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "never", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "never", + "kind": "keyword" + } + ] + }, + { + "name": "new", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "new", + "kind": "keyword" + } + ] + }, + { + "name": "null", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "null", + "kind": "keyword" + } + ] + }, + { + "name": "number", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "number", + "kind": "keyword" + } + ] + }, + { + "name": "Number", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers.", + "kind": "text" + } + ] + }, + { + "name": "object", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "object", + "kind": "keyword" + } + ] + }, + { + "name": "Object", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Provides functionality common to all JavaScript objects.", + "kind": "text" + } + ] + }, + { + "name": "package", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "package", + "kind": "keyword" + } + ] + }, + { + "name": "parseFloat", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseFloat", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to a floating-point number.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string that contains a floating-point number.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "parseInt", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseInt", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to an integer.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string to convert into a number.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value between 2 and 36 that specifies the base of the number in `string`.\nIf this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\nAll other strings are considered decimal.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "RangeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "readonly", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "readonly", + "kind": "keyword" + } + ] + }, + { + "name": "ReferenceError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExp", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "return", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "return", + "kind": "keyword" + } + ] + }, + { + "name": "satisfies", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "satisfies", + "kind": "keyword" + } + ] + }, + { + "name": "string", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "string", + "kind": "keyword" + } + ] + }, + { + "name": "String", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allows manipulation and formatting of text strings and determination and location of substrings within strings.", + "kind": "text" + } + ] + }, + { + "name": "super", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "super", + "kind": "keyword" + } + ] + }, + { + "name": "switch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "switch", + "kind": "keyword" + } + ] + }, + { + "name": "symbol", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "symbol", + "kind": "keyword" + } + ] + }, + { + "name": "SyntaxError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "this", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "this", + "kind": "keyword" + } + ] + }, + { + "name": "throw", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "throw", + "kind": "keyword" + } + ] + }, + { + "name": "true", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "true", + "kind": "keyword" + } + ] + }, + { + "name": "try", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "try", + "kind": "keyword" + } + ] + }, + { + "name": "type", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + } + ] + }, + { + "name": "TypeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "typeof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "typeof", + "kind": "keyword" + } + ] + }, + { + "name": "Uint8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ClampedArray", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "undefined", + "kind": "var", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "undefined", + "kind": "propertyName" + } + ], + "documentation": [] + }, + { + "name": "unique", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unique", + "kind": "keyword" + } + ] + }, + { + "name": "unknown", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unknown", + "kind": "keyword" + } + ] + }, + { + "name": "URIError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "using", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "using", + "kind": "keyword" + } + ] + }, + { + "name": "var", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + } + ] + }, + { + "name": "void", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "void", + "kind": "keyword" + } + ] + }, + { + "name": "while", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "while", + "kind": "keyword" + } + ] + }, + { + "name": "with", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "with", + "kind": "keyword" + } + ] + }, + { + "name": "yield", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "yield", + "kind": "keyword" + } + ] + }, + { + "name": "escape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "escape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + }, + { + "name": "unescape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unescape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersGlobal.ts", + "position": 375, + "name": "16" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": true, + "entries": [ + { + "name": "C", + "kind": "class", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + } + ], + "documentation": [] + }, + { + "name": "F", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "F", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "pred", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "func", + "kind": "function", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "func", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x1", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x2", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x2", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x3", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x3", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x4", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x4", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x5", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x5", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x6", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x6", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x7", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x7", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x8", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x9", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x10", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x10", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x11", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x11", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x12", + "kind": "let", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x12", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x13", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x13", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "abstract", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "abstract", + "kind": "keyword" + } + ] + }, + { + "name": "any", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "any", + "kind": "keyword" + } + ] + }, + { + "name": "Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBuffer", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Represents a raw buffer of binary data, which is used to store data for the\ndifferent typed arrays. ArrayBuffers cannot be read from or written to directly,\nbut can be passed to a typed array or DataView Object to interpret the raw\nbuffer as needed.", + "kind": "text" + } + ] + }, + { + "name": "as", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "as", + "kind": "keyword" + } + ] + }, + { + "name": "asserts", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "asserts", + "kind": "keyword" + } + ] + }, + { + "name": "async", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "async", + "kind": "keyword" + } + ] + }, + { + "name": "await", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "await", + "kind": "keyword" + } + ] + }, + { + "name": "bigint", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "bigint", + "kind": "keyword" + } + ] + }, + { + "name": "boolean", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "boolean", + "kind": "keyword" + } + ] + }, + { + "name": "Boolean", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "break", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "break", + "kind": "keyword" + } + ] + }, + { + "name": "case", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "case", + "kind": "keyword" + } + ] + }, + { + "name": "catch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "catch", + "kind": "keyword" + } + ] + }, + { + "name": "class", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + } + ] + }, + { + "name": "const", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + } + ] + }, + { + "name": "continue", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "continue", + "kind": "keyword" + } + ] + }, + { + "name": "DataView", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Date", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Enables basic storage and retrieval of dates and times.", + "kind": "text" + } + ] + }, + { + "name": "debugger", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "debugger", + "kind": "keyword" + } + ] + }, + { + "name": "declare", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "declare", + "kind": "keyword" + } + ] + }, + { + "name": "decodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "decodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "default", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "default", + "kind": "keyword" + } + ] + }, + { + "name": "delete", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "delete", + "kind": "keyword" + } + ] + }, + { + "name": "do", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "do", + "kind": "keyword" + } + ] + }, + { + "name": "else", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "else", + "kind": "keyword" + } + ] + }, + { + "name": "encodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid Uniform Resource Identifier (URI)", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "encodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "enum", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + } + ] + }, + { + "name": "Error", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "eval", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eval", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Evaluates JavaScript code and executes it.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "x", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A String value that contains valid JavaScript code.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "EvalError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "export", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "export", + "kind": "keyword" + } + ] + }, + { + "name": "extends", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "extends", + "kind": "keyword" + } + ] + }, + { + "name": "false", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "false", + "kind": "keyword" + } + ] + }, + { + "name": "finally", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "finally", + "kind": "keyword" + } + ] + }, + { + "name": "Float32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float64Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "for", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "for", + "kind": "keyword" + } + ] + }, + { + "name": "function", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + } + ] + }, + { + "name": "Function", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Creates a new function.", + "kind": "text" + } + ] + }, + { + "name": "globalThis", + "kind": "module", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "globalThis", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "if", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "if", + "kind": "keyword" + } + ] + }, + { + "name": "implements", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "implements", + "kind": "keyword" + } + ] + }, + { + "name": "import", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "import", + "kind": "keyword" + } + ] + }, + { + "name": "in", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "in", + "kind": "keyword" + } + ] + }, + { + "name": "infer", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "infer", + "kind": "keyword" + } + ] + }, + { + "name": "Infinity", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Infinity", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "instanceof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "instanceof", + "kind": "keyword" + } + ] + }, + { + "name": "Int8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "interface", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + } + ] + }, + { + "name": "Intl", + "kind": "module", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Intl", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "isFinite", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isFinite", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Determines whether a supplied number is finite.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Any numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "isNaN", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isNaN", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "JSON", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.", + "kind": "text" + } + ] + }, + { + "name": "keyof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "keyof", + "kind": "keyword" + } + ] + }, + { + "name": "let", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + } + ] + }, + { + "name": "Math", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides basic mathematics functionality and constants.", + "kind": "text" + } + ] + }, + { + "name": "module", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + } + ] + }, + { + "name": "namespace", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + } + ] + }, + { + "name": "NaN", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NaN", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "never", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "never", + "kind": "keyword" + } + ] + }, + { + "name": "new", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "new", + "kind": "keyword" + } + ] + }, + { + "name": "null", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "null", + "kind": "keyword" + } + ] + }, + { + "name": "number", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "number", + "kind": "keyword" + } + ] + }, + { + "name": "Number", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers.", + "kind": "text" + } + ] + }, + { + "name": "object", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "object", + "kind": "keyword" + } + ] + }, + { + "name": "Object", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Provides functionality common to all JavaScript objects.", + "kind": "text" + } + ] + }, + { + "name": "package", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "package", + "kind": "keyword" + } + ] + }, + { + "name": "parseFloat", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseFloat", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to a floating-point number.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string that contains a floating-point number.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "parseInt", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseInt", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to an integer.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string to convert into a number.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value between 2 and 36 that specifies the base of the number in `string`.\nIf this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\nAll other strings are considered decimal.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "RangeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "readonly", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "readonly", + "kind": "keyword" + } + ] + }, + { + "name": "ReferenceError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExp", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "return", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "return", + "kind": "keyword" + } + ] + }, + { + "name": "satisfies", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "satisfies", + "kind": "keyword" + } + ] + }, + { + "name": "string", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "string", + "kind": "keyword" + } + ] + }, + { + "name": "String", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allows manipulation and formatting of text strings and determination and location of substrings within strings.", + "kind": "text" + } + ] + }, + { + "name": "super", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "super", + "kind": "keyword" + } + ] + }, + { + "name": "switch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "switch", + "kind": "keyword" + } + ] + }, + { + "name": "symbol", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "symbol", + "kind": "keyword" + } + ] + }, + { + "name": "SyntaxError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "this", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "this", + "kind": "keyword" + } + ] + }, + { + "name": "throw", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "throw", + "kind": "keyword" + } + ] + }, + { + "name": "true", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "true", + "kind": "keyword" + } + ] + }, + { + "name": "try", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "try", + "kind": "keyword" + } + ] + }, + { + "name": "type", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + } + ] + }, + { + "name": "TypeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "typeof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "typeof", + "kind": "keyword" + } + ] + }, + { + "name": "Uint8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ClampedArray", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "undefined", + "kind": "var", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "undefined", + "kind": "propertyName" + } + ], + "documentation": [] + }, + { + "name": "unique", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unique", + "kind": "keyword" + } + ] + }, + { + "name": "unknown", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unknown", + "kind": "keyword" + } + ] + }, + { + "name": "URIError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "using", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "using", + "kind": "keyword" + } + ] + }, + { + "name": "var", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + } + ] + }, + { + "name": "void", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "void", + "kind": "keyword" + } + ] + }, + { + "name": "while", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "while", + "kind": "keyword" + } + ] + }, + { + "name": "with", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "with", + "kind": "keyword" + } + ] + }, + { + "name": "yield", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "yield", + "kind": "keyword" + } + ] + }, + { + "name": "escape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "escape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + }, + { + "name": "unescape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unescape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersGlobal.ts", + "position": 394, + "name": "17" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": true, + "optionalReplacementSpan": { + "start": 391, + "length": 3 + }, + "entries": [ + { + "name": "C", + "kind": "class", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + } + ], + "documentation": [] + }, + { + "name": "F", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "F", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "pred", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "func", + "kind": "function", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "func", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "str", + "kind": "parameter", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "str", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x1", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x2", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x2", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x3", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x3", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x4", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x4", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x5", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x5", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x6", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x6", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x7", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x7", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x8", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x9", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x10", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x10", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x11", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x11", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x12", + "kind": "let", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x12", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x13", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x13", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "abstract", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "abstract", + "kind": "keyword" + } + ] + }, + { + "name": "any", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "any", + "kind": "keyword" + } + ] + }, + { + "name": "Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBuffer", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Represents a raw buffer of binary data, which is used to store data for the\ndifferent typed arrays. ArrayBuffers cannot be read from or written to directly,\nbut can be passed to a typed array or DataView Object to interpret the raw\nbuffer as needed.", + "kind": "text" + } + ] + }, + { + "name": "as", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "as", + "kind": "keyword" + } + ] + }, + { + "name": "asserts", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "asserts", + "kind": "keyword" + } + ] + }, + { + "name": "async", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "async", + "kind": "keyword" + } + ] + }, + { + "name": "await", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "await", + "kind": "keyword" + } + ] + }, + { + "name": "bigint", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "bigint", + "kind": "keyword" + } + ] + }, + { + "name": "boolean", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "boolean", + "kind": "keyword" + } + ] + }, + { + "name": "Boolean", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "break", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "break", + "kind": "keyword" + } + ] + }, + { + "name": "case", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "case", + "kind": "keyword" + } + ] + }, + { + "name": "catch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "catch", + "kind": "keyword" + } + ] + }, + { + "name": "class", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + } + ] + }, + { + "name": "const", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + } + ] + }, + { + "name": "continue", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "continue", + "kind": "keyword" + } + ] + }, + { + "name": "DataView", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Date", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Enables basic storage and retrieval of dates and times.", + "kind": "text" + } + ] + }, + { + "name": "debugger", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "debugger", + "kind": "keyword" + } + ] + }, + { + "name": "declare", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "declare", + "kind": "keyword" + } + ] + }, + { + "name": "decodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "decodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "default", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "default", + "kind": "keyword" + } + ] + }, + { + "name": "delete", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "delete", + "kind": "keyword" + } + ] + }, + { + "name": "do", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "do", + "kind": "keyword" + } + ] + }, + { + "name": "else", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "else", + "kind": "keyword" + } + ] + }, + { + "name": "encodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid Uniform Resource Identifier (URI)", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "encodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "enum", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + } + ] + }, + { + "name": "Error", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "eval", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eval", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Evaluates JavaScript code and executes it.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "x", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A String value that contains valid JavaScript code.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "EvalError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "export", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "export", + "kind": "keyword" + } + ] + }, + { + "name": "extends", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "extends", + "kind": "keyword" + } + ] + }, + { + "name": "false", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "false", + "kind": "keyword" + } + ] + }, + { + "name": "finally", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "finally", + "kind": "keyword" + } + ] + }, + { + "name": "Float32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float64Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "for", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "for", + "kind": "keyword" + } + ] + }, + { + "name": "function", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + } + ] + }, + { + "name": "Function", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Creates a new function.", + "kind": "text" + } + ] + }, + { + "name": "globalThis", + "kind": "module", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "globalThis", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "if", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "if", + "kind": "keyword" + } + ] + }, + { + "name": "implements", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "implements", + "kind": "keyword" + } + ] + }, + { + "name": "import", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "import", + "kind": "keyword" + } + ] + }, + { + "name": "in", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "in", + "kind": "keyword" + } + ] + }, + { + "name": "infer", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "infer", + "kind": "keyword" + } + ] + }, + { + "name": "Infinity", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Infinity", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "instanceof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "instanceof", + "kind": "keyword" + } + ] + }, + { + "name": "Int8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "interface", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + } + ] + }, + { + "name": "Intl", + "kind": "module", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Intl", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "isFinite", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isFinite", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Determines whether a supplied number is finite.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Any numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "isNaN", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isNaN", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "JSON", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.", + "kind": "text" + } + ] + }, + { + "name": "keyof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "keyof", + "kind": "keyword" + } + ] + }, + { + "name": "let", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + } + ] + }, + { + "name": "Math", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides basic mathematics functionality and constants.", + "kind": "text" + } + ] + }, + { + "name": "module", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + } + ] + }, + { + "name": "namespace", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + } + ] + }, + { + "name": "NaN", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NaN", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "never", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "never", + "kind": "keyword" + } + ] + }, + { + "name": "new", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "new", + "kind": "keyword" + } + ] + }, + { + "name": "null", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "null", + "kind": "keyword" + } + ] + }, + { + "name": "number", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "number", + "kind": "keyword" + } + ] + }, + { + "name": "Number", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers.", + "kind": "text" + } + ] + }, + { + "name": "object", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "object", + "kind": "keyword" + } + ] + }, + { + "name": "Object", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Provides functionality common to all JavaScript objects.", + "kind": "text" + } + ] + }, + { + "name": "package", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "package", + "kind": "keyword" + } + ] + }, + { + "name": "parseFloat", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseFloat", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to a floating-point number.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string that contains a floating-point number.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "parseInt", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseInt", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to an integer.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string to convert into a number.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value between 2 and 36 that specifies the base of the number in `string`.\nIf this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\nAll other strings are considered decimal.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "RangeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "readonly", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "readonly", + "kind": "keyword" + } + ] + }, + { + "name": "ReferenceError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExp", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "return", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "return", + "kind": "keyword" + } + ] + }, + { + "name": "satisfies", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "satisfies", + "kind": "keyword" + } + ] + }, + { + "name": "string", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "string", + "kind": "keyword" + } + ] + }, + { + "name": "String", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allows manipulation and formatting of text strings and determination and location of substrings within strings.", + "kind": "text" + } + ] + }, + { + "name": "super", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "super", + "kind": "keyword" + } + ] + }, + { + "name": "switch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "switch", + "kind": "keyword" + } + ] + }, + { + "name": "symbol", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "symbol", + "kind": "keyword" + } + ] + }, + { + "name": "SyntaxError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "this", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "this", + "kind": "keyword" + } + ] + }, + { + "name": "throw", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "throw", + "kind": "keyword" + } + ] + }, + { + "name": "true", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "true", + "kind": "keyword" + } + ] + }, + { + "name": "try", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "try", + "kind": "keyword" + } + ] + }, + { + "name": "type", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + } + ] + }, + { + "name": "TypeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "typeof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "typeof", + "kind": "keyword" + } + ] + }, + { + "name": "Uint8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ClampedArray", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "undefined", + "kind": "var", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "undefined", + "kind": "propertyName" + } + ], + "documentation": [] + }, + { + "name": "unique", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unique", + "kind": "keyword" + } + ] + }, + { + "name": "unknown", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unknown", + "kind": "keyword" + } + ] + }, + { + "name": "URIError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "using", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "using", + "kind": "keyword" + } + ] + }, + { + "name": "var", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + } + ] + }, + { + "name": "void", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "void", + "kind": "keyword" + } + ] + }, + { + "name": "while", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "while", + "kind": "keyword" + } + ] + }, + { + "name": "with", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "with", + "kind": "keyword" + } + ] + }, + { + "name": "yield", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "yield", + "kind": "keyword" + } + ] + }, + { + "name": "escape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "escape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + }, + { + "name": "unescape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unescape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersGlobal.ts", + "position": 432, + "name": "18" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": true, + "optionalReplacementSpan": { + "start": 431, + "length": 3 + }, + "entries": [ + { + "name": "C", + "kind": "class", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + } + ], + "documentation": [] + }, + { + "name": "F", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "F", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "pred", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "func", + "kind": "function", + "kindModifiers": "declare", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "func", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x1", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x1", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x2", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x2", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x3", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x3", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x4", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x4", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x5", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x5", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "a", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "b", + "kind": "propertyName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x6", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x6", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x7", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x7", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x8", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x9", + "kind": "function", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x10", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x10", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x11", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x11", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "x12", + "kind": "let", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x12", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "x13", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "x13", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "xyz", + "kind": "parameter", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "parameter", + "kind": "text" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "xyz", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "abstract", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "abstract", + "kind": "keyword" + } + ] + }, + { + "name": "any", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "any", + "kind": "keyword" + } + ] + }, + { + "name": "Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBuffer", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Represents a raw buffer of binary data, which is used to store data for the\ndifferent typed arrays. ArrayBuffers cannot be read from or written to directly,\nbut can be passed to a typed array or DataView Object to interpret the raw\nbuffer as needed.", + "kind": "text" + } + ] + }, + { + "name": "as", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "as", + "kind": "keyword" + } + ] + }, + { + "name": "asserts", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "asserts", + "kind": "keyword" + } + ] + }, + { + "name": "async", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "async", + "kind": "keyword" + } + ] + }, + { + "name": "await", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "await", + "kind": "keyword" + } + ] + }, + { + "name": "bigint", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "bigint", + "kind": "keyword" + } + ] + }, + { + "name": "boolean", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "boolean", + "kind": "keyword" + } + ] + }, + { + "name": "Boolean", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "break", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "break", + "kind": "keyword" + } + ] + }, + { + "name": "case", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "case", + "kind": "keyword" + } + ] + }, + { + "name": "catch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "catch", + "kind": "keyword" + } + ] + }, + { + "name": "class", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + } + ] + }, + { + "name": "const", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + } + ] + }, + { + "name": "continue", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "continue", + "kind": "keyword" + } + ] + }, + { + "name": "DataView", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Date", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Enables basic storage and retrieval of dates and times.", + "kind": "text" + } + ] + }, + { + "name": "debugger", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "debugger", + "kind": "keyword" + } + ] + }, + { + "name": "declare", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "declare", + "kind": "keyword" + } + ] + }, + { + "name": "decodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "decodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "default", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "default", + "kind": "keyword" + } + ] + }, + { + "name": "delete", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "delete", + "kind": "keyword" + } + ] + }, + { + "name": "do", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "do", + "kind": "keyword" + } + ] + }, + { + "name": "else", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "else", + "kind": "keyword" + } + ] + }, + { + "name": "encodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid Uniform Resource Identifier (URI)", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "encodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "enum", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + } + ] + }, + { + "name": "Error", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "eval", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eval", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Evaluates JavaScript code and executes it.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "x", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A String value that contains valid JavaScript code.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "EvalError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "export", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "export", + "kind": "keyword" + } + ] + }, + { + "name": "extends", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "extends", + "kind": "keyword" + } + ] + }, + { + "name": "false", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "false", + "kind": "keyword" + } + ] + }, + { + "name": "finally", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "finally", + "kind": "keyword" + } + ] + }, + { + "name": "Float32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float64Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "for", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "for", + "kind": "keyword" + } + ] + }, + { + "name": "function", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + } + ] + }, + { + "name": "Function", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Creates a new function.", + "kind": "text" + } + ] + }, + { + "name": "globalThis", + "kind": "module", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "globalThis", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "if", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "if", + "kind": "keyword" + } + ] + }, + { + "name": "implements", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "implements", + "kind": "keyword" + } + ] + }, + { + "name": "import", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "import", + "kind": "keyword" + } + ] + }, + { + "name": "in", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "in", + "kind": "keyword" + } + ] + }, + { + "name": "infer", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "infer", + "kind": "keyword" + } + ] + }, + { + "name": "Infinity", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Infinity", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "instanceof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "instanceof", + "kind": "keyword" + } + ] + }, + { + "name": "Int8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "interface", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + } + ] + }, + { + "name": "Intl", + "kind": "module", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Intl", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "isFinite", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isFinite", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Determines whether a supplied number is finite.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Any numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "isNaN", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isNaN", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "JSON", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.", + "kind": "text" + } + ] + }, + { + "name": "keyof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "keyof", + "kind": "keyword" + } + ] + }, + { + "name": "let", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + } + ] + }, + { + "name": "Math", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides basic mathematics functionality and constants.", + "kind": "text" + } + ] + }, + { + "name": "module", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + } + ] + }, + { + "name": "namespace", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + } + ] + }, + { + "name": "NaN", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NaN", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "never", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "never", + "kind": "keyword" + } + ] + }, + { + "name": "new", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "new", + "kind": "keyword" + } + ] + }, + { + "name": "null", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "null", + "kind": "keyword" + } + ] + }, + { + "name": "number", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "number", + "kind": "keyword" + } + ] + }, + { + "name": "Number", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers.", + "kind": "text" + } + ] + }, + { + "name": "object", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "object", + "kind": "keyword" + } + ] + }, + { + "name": "Object", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Provides functionality common to all JavaScript objects.", + "kind": "text" + } + ] + }, + { + "name": "package", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "package", + "kind": "keyword" + } + ] + }, + { + "name": "parseFloat", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseFloat", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to a floating-point number.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string that contains a floating-point number.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "parseInt", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseInt", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to an integer.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string to convert into a number.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value between 2 and 36 that specifies the base of the number in `string`.\nIf this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\nAll other strings are considered decimal.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "RangeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "readonly", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "readonly", + "kind": "keyword" + } + ] + }, + { + "name": "ReferenceError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExp", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "return", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "return", + "kind": "keyword" + } + ] + }, + { + "name": "satisfies", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "satisfies", + "kind": "keyword" + } + ] + }, + { + "name": "string", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "string", + "kind": "keyword" + } + ] + }, + { + "name": "String", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allows manipulation and formatting of text strings and determination and location of substrings within strings.", + "kind": "text" + } + ] + }, + { + "name": "super", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "super", + "kind": "keyword" + } + ] + }, + { + "name": "switch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "switch", + "kind": "keyword" + } + ] + }, + { + "name": "symbol", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "symbol", + "kind": "keyword" + } + ] + }, + { + "name": "SyntaxError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "this", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "this", + "kind": "keyword" + } + ] + }, + { + "name": "throw", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "throw", + "kind": "keyword" + } + ] + }, + { + "name": "true", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "true", + "kind": "keyword" + } + ] + }, + { + "name": "try", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "try", + "kind": "keyword" + } + ] + }, + { + "name": "type", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + } + ] + }, + { + "name": "TypeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "typeof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "typeof", + "kind": "keyword" + } + ] + }, + { + "name": "Uint8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ClampedArray", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "undefined", + "kind": "var", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "undefined", + "kind": "propertyName" + } + ], + "documentation": [] + }, + { + "name": "unique", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unique", + "kind": "keyword" + } + ] + }, + { + "name": "unknown", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unknown", + "kind": "keyword" + } + ] + }, + { + "name": "URIError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "using", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "using", + "kind": "keyword" + } + ] + }, + { + "name": "var", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + } + ] + }, + { + "name": "void", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "void", + "kind": "keyword" + } + ] + }, + { + "name": "while", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "while", + "kind": "keyword" + } + ] + }, + { + "name": "with", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "with", + "kind": "keyword" + } + ] + }, + { + "name": "yield", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "yield", + "kind": "keyword" + } + ] + }, + { + "name": "escape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "escape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + }, + { + "name": "unescape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unescape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersGlobal.ts", + "position": 459, + "name": "19" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": true, + "entries": [ + { + "name": "C", + "kind": "class", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + } + ], + "documentation": [] + }, + { + "name": "I", + "kind": "interface", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "T", + "kind": "type", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "xyz", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "any", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "any", + "kind": "keyword" + } + ] + }, + { + "name": "Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBuffer", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Represents a raw buffer of binary data, which is used to store data for the\ndifferent typed arrays. ArrayBuffers cannot be read from or written to directly,\nbut can be passed to a typed array or DataView Object to interpret the raw\nbuffer as needed.", + "kind": "text" + } + ] + }, + { + "name": "ArrayBufferConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBufferLike", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferLike", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBufferTypes", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferTypes", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allowed ArrayBuffer types for the buffer of an ArrayBufferView and related Typed Arrays.", + "kind": "text" + } + ] + }, + { + "name": "ArrayBufferView", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferView", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayLike", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayLike", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "asserts", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "asserts", + "kind": "keyword" + } + ] + }, + { + "name": "Awaited", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Awaited", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "null", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "object", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "&", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "then", + "kind": "text" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "onfulfilled", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "F", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "_", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "F", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "value", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "V", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "_", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Awaited", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "text" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "never", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + } + ], + "documentation": [ + { + "text": "Recursively unwraps the \"awaited type\" of a type. Non-promise \"thenables\" should resolve to `never`. This emulates the behavior of `await`.", + "kind": "text" + } + ] + }, + { + "name": "bigint", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "bigint", + "kind": "keyword" + } + ] + }, + { + "name": "boolean", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "boolean", + "kind": "keyword" + } + ] + }, + { + "name": "Boolean", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "BooleanConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "CallableFunction", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "CallableFunction", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Capitalize", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Capitalize", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "S", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "intrinsic", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Convert first character of string literal type to uppercase", + "kind": "text" + } + ] + }, + { + "name": "ClassAccessorDecoratorContext", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassAccessorDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Context provided to a class `accessor` field decorator.", + "kind": "text" + } + ], + "tags": [ + { + "name": "template", + "text": [ + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type on which the class element will be defined. For a static class element, this will be\nthe type of the constructor. For a non-static class element, this will be the type of the instance.", + "kind": "text" + } + ] + }, + { + "name": "template", + "text": [ + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type of decorated class field.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "ClassAccessorDecoratorResult", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassAccessorDecoratorResult", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Describes the allowed return value from a class `accessor` field decorator.", + "kind": "text" + } + ], + "tags": [ + { + "name": "template", + "text": [ + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The `this` type to which the target applies.", + "kind": "text" + } + ] + }, + { + "name": "template", + "text": [ + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The property type for the class `accessor` field.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "ClassAccessorDecoratorTarget", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassAccessorDecoratorTarget", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Describes the target provided to class `accessor` field decorators.", + "kind": "text" + } + ], + "tags": [ + { + "name": "template", + "text": [ + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The `this` type to which the target applies.", + "kind": "text" + } + ] + }, + { + "name": "template", + "text": [ + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The property type for the class `accessor` field.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "ClassDecorator", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassDecorator", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "TFunction", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "target", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TFunction", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TFunction", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "ClassDecoratorContext", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "Class", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "abstract", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "abstract", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Context provided to a class decorator.", + "kind": "text" + } + ], + "tags": [ + { + "name": "template", + "text": [ + { + "text": "Class", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type of the decorated class associated with this context.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "ClassFieldDecoratorContext", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassFieldDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Context provided to a class field decorator.", + "kind": "text" + } + ], + "tags": [ + { + "name": "template", + "text": [ + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type on which the class element will be defined. For a static class element, this will be\nthe type of the constructor. For a non-static class element, this will be the type of the instance.", + "kind": "text" + } + ] + }, + { + "name": "template", + "text": [ + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type of the decorated class field.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "ClassGetterDecoratorContext", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassGetterDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Context provided to a class getter decorator.", + "kind": "text" + } + ], + "tags": [ + { + "name": "template", + "text": [ + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type on which the class element will be defined. For a static class element, this will be\nthe type of the constructor. For a non-static class element, this will be the type of the instance.", + "kind": "text" + } + ] + }, + { + "name": "template", + "text": [ + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The property type of the decorated class getter.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "ClassMemberDecoratorContext", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassMemberDecoratorContext", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassMethodDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "this", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassGetterDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassSetterDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassFieldDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "text" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassAccessorDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "text" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "The decorator context types provided to class element decorators.", + "kind": "text" + } + ] + }, + { + "name": "ClassMethodDecoratorContext", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassMethodDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "this", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "this", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Context provided to a class method decorator.", + "kind": "text" + } + ], + "tags": [ + { + "name": "template", + "text": [ + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type on which the class element will be defined. For a static class element, this will be\nthe type of the constructor. For a non-static class element, this will be the type of the instance.", + "kind": "text" + } + ] + }, + { + "name": "template", + "text": [ + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type of the decorated class method.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "ClassSetterDecoratorContext", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassSetterDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Context provided to a class setter decorator.", + "kind": "text" + } + ], + "tags": [ + { + "name": "template", + "text": [ + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type on which the class element will be defined. For a static class element, this will be\nthe type of the constructor. For a non-static class element, this will be the type of the instance.", + "kind": "text" + } + ] + }, + { + "name": "template", + "text": [ + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type of the decorated class setter.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "ConcatArray", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ConcatArray", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "ConstructorParameters", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ConstructorParameters", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "abstract", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "abstract", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "never", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Obtain the parameters of a constructor function type in a tuple", + "kind": "text" + } + ] + }, + { + "name": "DataView", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "DataViewConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Date", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Enables basic storage and retrieval of dates and times.", + "kind": "text" + } + ] + }, + { + "name": "DateConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "DecoratorContext", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DecoratorContext", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassMemberDecoratorContext", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "abstract", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "The decorator context types provided to any decorator.", + "kind": "text" + } + ] + }, + { + "name": "DecoratorMetadata", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DecoratorMetadata", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Record", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "PropertyKey", + "kind": "aliasName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "&", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "object", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "DecoratorMetadataObject", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DecoratorMetadataObject", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Record", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "PropertyKey", + "kind": "aliasName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "&", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "object", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "Error", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "EvalError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "EvalErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Exclude", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Exclude", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "never", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + } + ], + "documentation": [ + { + "text": "Exclude from T those types that are assignable to U", + "kind": "text" + } + ] + }, + { + "name": "Extract", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Extract", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "never", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Extract from T those types that are assignable to U", + "kind": "text" + } + ] + }, + { + "name": "false", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "false", + "kind": "keyword" + } + ] + }, + { + "name": "Float32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float32ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Float64Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float64ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Function", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Creates a new function.", + "kind": "text" + } + ] + }, + { + "name": "FunctionConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "globalThis", + "kind": "module", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "globalThis", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "IArguments", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "IArguments", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ImportAttributes", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ImportAttributes", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "The type for the `with` property of the optional second argument to `import()`.", + "kind": "text" + } + ] + }, + { + "name": "ImportCallOptions", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ImportCallOptions", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "The type for the optional second argument to `import()`.\n\nIf your host environment supports additional options, this type may be\naugmented via interface merging.", + "kind": "text" + } + ] + }, + { + "name": "ImportMeta", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ImportMeta", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "The type of `import.meta`.\n\nIf you need to declare that a given property exists on `import.meta`,\nthis type may be augmented via interface merging.", + "kind": "text" + } + ] + }, + { + "name": "infer", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "infer", + "kind": "keyword" + } + ] + }, + { + "name": "InstanceType", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "InstanceType", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "abstract", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "abstract", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "R", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "R", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Obtain the return type of a constructor function type", + "kind": "text" + } + ] + }, + { + "name": "Int8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int8ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Int16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int16ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Int32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int32ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Intl", + "kind": "module", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Intl", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "JSON", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.", + "kind": "text" + } + ] + }, + { + "name": "keyof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "keyof", + "kind": "keyword" + } + ] + }, + { + "name": "Lowercase", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Lowercase", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "S", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "intrinsic", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Convert string literal type to lowercase", + "kind": "text" + } + ] + }, + { + "name": "Math", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides basic mathematics functionality and constants.", + "kind": "text" + } + ] + }, + { + "name": "MethodDecorator", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "MethodDecorator", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "target", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "propertyKey", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "symbol", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "descriptor", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypedPropertyDescriptor", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypedPropertyDescriptor", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "never", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "never", + "kind": "keyword" + } + ] + }, + { + "name": "NewableFunction", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NewableFunction", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "NoInfer", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NoInfer", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "intrinsic", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Marker for non-inference type position", + "kind": "text" + } + ] + }, + { + "name": "NonNullable", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NonNullable", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "&", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Exclude null and undefined from T", + "kind": "text" + } + ] + }, + { + "name": "null", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "null", + "kind": "keyword" + } + ] + }, + { + "name": "number", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "number", + "kind": "keyword" + } + ] + }, + { + "name": "Number", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers.", + "kind": "text" + } + ] + }, + { + "name": "NumberConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "object", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "object", + "kind": "keyword" + } + ] + }, + { + "name": "Object", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Provides functionality common to all JavaScript objects.", + "kind": "text" + } + ] + }, + { + "name": "ObjectConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Omit", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Omit", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "K", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "keyof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Exclude", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "keyof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "K", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Construct a type with the properties of T except for those in type K.", + "kind": "text" + } + ] + }, + { + "name": "OmitThisParameter", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "OmitThisParameter", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ThisParameterType", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "R", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "R", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + } + ], + "documentation": [ + { + "text": "Removes the 'this' parameter from a function type.", + "kind": "text" + } + ] + }, + { + "name": "ParameterDecorator", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ParameterDecorator", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "target", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "propertyKey", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "symbol", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "undefined", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parameterIndex", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "Parameters", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Parameters", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "never", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Obtain the parameters of a function type in a tuple", + "kind": "text" + } + ] + }, + { + "name": "Partial", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Partial", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "keyof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Make all properties in T optional", + "kind": "text" + } + ] + }, + { + "name": "Pick", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Pick", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "K", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "keyof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "K", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "From T, pick a set of properties whose keys are in the union K", + "kind": "text" + } + ] + }, + { + "name": "Promise", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Promise", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Represents the completion of an asynchronous operation", + "kind": "text" + } + ] + }, + { + "name": "PromiseConstructorLike", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "PromiseConstructorLike", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "executor", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "resolve", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "value", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "PromiseLike", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "reject", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "reason", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "PromiseLike", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "PromiseLike", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "PromiseLike", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "PropertyDecorator", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "PropertyDecorator", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "target", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "propertyKey", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "symbol", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "PropertyDescriptor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "PropertyDescriptor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "PropertyDescriptorMap", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "PropertyDescriptorMap", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "PropertyKey", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "PropertyKey", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "symbol", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "RangeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RangeErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "readonly", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "readonly", + "kind": "keyword" + } + ] + }, + { + "name": "Readonly", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Readonly", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "readonly", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "keyof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Make all properties in T readonly", + "kind": "text" + } + ] + }, + { + "name": "ReadonlyArray", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReadonlyArray", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "Record", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Record", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "K", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "keyof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "K", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Construct a type with a set of properties K of type T", + "kind": "text" + } + ] + }, + { + "name": "ReferenceError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ReferenceErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExp", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExpConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExpExecArray", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpExecArray", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExpMatchArray", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpMatchArray", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Required", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Required", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "keyof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": "-", + "kind": "punctuation" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Make all properties in T required", + "kind": "text" + } + ] + }, + { + "name": "ReturnType", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReturnType", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "R", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "R", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Obtain the return type of a function type", + "kind": "text" + } + ] + }, + { + "name": "string", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "string", + "kind": "keyword" + } + ] + }, + { + "name": "String", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allows manipulation and formatting of text strings and determination and location of substrings within strings.", + "kind": "text" + } + ] + }, + { + "name": "StringConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "symbol", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "symbol", + "kind": "keyword" + } + ] + }, + { + "name": "Symbol", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Symbol", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "SyntaxError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "SyntaxErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "TemplateStringsArray", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TemplateStringsArray", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ThisParameterType", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ThisParameterType", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "this", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "never", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Extracts the type of the 'this' parameter of a function type, or 'unknown' if the function type has no 'this' parameter.", + "kind": "text" + } + ] + }, + { + "name": "ThisType", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ThisType", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Marker for contextual 'this' type", + "kind": "text" + } + ] + }, + { + "name": "true", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "true", + "kind": "keyword" + } + ] + }, + { + "name": "TypedPropertyDescriptor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypedPropertyDescriptor", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "TypeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "TypeErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "typeof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "typeof", + "kind": "keyword" + } + ] + }, + { + "name": "Uint8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Uint8ClampedArray", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ClampedArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Uint16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint16ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Uint32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint32ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Uncapitalize", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uncapitalize", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "S", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "intrinsic", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Convert first character of string literal type to lowercase", + "kind": "text" + } + ] + }, + { + "name": "undefined", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "undefined", + "kind": "keyword" + } + ] + }, + { + "name": "unique", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unique", + "kind": "keyword" + } + ] + }, + { + "name": "unknown", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unknown", + "kind": "keyword" + } + ] + }, + { + "name": "Uppercase", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uppercase", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "S", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "intrinsic", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Convert string literal type to uppercase", + "kind": "text" + } + ] + }, + { + "name": "URIError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "URIErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "void", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "void", + "kind": "keyword" + } + ] + }, + { + "name": "WeakKey", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "WeakKey", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "object", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "WeakKeyTypes", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "WeakKeyTypes", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Stores types to be used with WeakSet, WeakMap, WeakRef, and FinalizationRegistry", + "kind": "text" + } + ] + }, + { + "name": "ImportAssertions", + "kind": "interface", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ImportAssertions", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "The type for the `assert` property of the optional second argument to `import()`.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated" + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/completionsCommitCharactersGlobal.ts", + "position": 481, + "name": "20" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": true, + "optionalReplacementSpan": { + "start": 480, + "length": 1 + }, + "entries": [ + { + "name": "C", + "kind": "class", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "C", + "kind": "className" + } + ], + "documentation": [] + }, + { + "name": "I", + "kind": "interface", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "I", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "T", + "kind": "type", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "xyz", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "any", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "any", + "kind": "keyword" + } + ] + }, + { + "name": "Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBuffer", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Represents a raw buffer of binary data, which is used to store data for the\ndifferent typed arrays. ArrayBuffers cannot be read from or written to directly,\nbut can be passed to a typed array or DataView Object to interpret the raw\nbuffer as needed.", + "kind": "text" + } + ] + }, + { + "name": "ArrayBufferConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBufferLike", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferLike", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBufferTypes", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferTypes", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allowed ArrayBuffer types for the buffer of an ArrayBufferView and related Typed Arrays.", + "kind": "text" + } + ] + }, + { + "name": "ArrayBufferView", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferView", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayLike", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayLike", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "asserts", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "asserts", + "kind": "keyword" + } + ] + }, + { + "name": "Awaited", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Awaited", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "null", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "object", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "&", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "then", + "kind": "text" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "onfulfilled", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "F", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "_", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "}", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "F", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "value", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "V", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "_", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Awaited", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "text" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "never", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + } + ], + "documentation": [ + { + "text": "Recursively unwraps the \"awaited type\" of a type. Non-promise \"thenables\" should resolve to `never`. This emulates the behavior of `await`.", + "kind": "text" + } + ] + }, + { + "name": "bigint", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "bigint", + "kind": "keyword" + } + ] + }, + { + "name": "boolean", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "boolean", + "kind": "keyword" + } + ] + }, + { + "name": "Boolean", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "BooleanConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "CallableFunction", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "CallableFunction", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Capitalize", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Capitalize", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "S", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "intrinsic", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Convert first character of string literal type to uppercase", + "kind": "text" + } + ] + }, + { + "name": "ClassAccessorDecoratorContext", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassAccessorDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Context provided to a class `accessor` field decorator.", + "kind": "text" + } + ], + "tags": [ + { + "name": "template", + "text": [ + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type on which the class element will be defined. For a static class element, this will be\nthe type of the constructor. For a non-static class element, this will be the type of the instance.", + "kind": "text" + } + ] + }, + { + "name": "template", + "text": [ + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type of decorated class field.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "ClassAccessorDecoratorResult", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassAccessorDecoratorResult", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Describes the allowed return value from a class `accessor` field decorator.", + "kind": "text" + } + ], + "tags": [ + { + "name": "template", + "text": [ + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The `this` type to which the target applies.", + "kind": "text" + } + ] + }, + { + "name": "template", + "text": [ + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The property type for the class `accessor` field.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "ClassAccessorDecoratorTarget", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassAccessorDecoratorTarget", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Describes the target provided to class `accessor` field decorators.", + "kind": "text" + } + ], + "tags": [ + { + "name": "template", + "text": [ + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The `this` type to which the target applies.", + "kind": "text" + } + ] + }, + { + "name": "template", + "text": [ + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The property type for the class `accessor` field.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "ClassDecorator", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassDecorator", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "TFunction", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "target", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TFunction", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TFunction", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "ClassDecoratorContext", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "Class", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "abstract", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "abstract", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Context provided to a class decorator.", + "kind": "text" + } + ], + "tags": [ + { + "name": "template", + "text": [ + { + "text": "Class", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type of the decorated class associated with this context.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "ClassFieldDecoratorContext", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassFieldDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Context provided to a class field decorator.", + "kind": "text" + } + ], + "tags": [ + { + "name": "template", + "text": [ + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type on which the class element will be defined. For a static class element, this will be\nthe type of the constructor. For a non-static class element, this will be the type of the instance.", + "kind": "text" + } + ] + }, + { + "name": "template", + "text": [ + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type of the decorated class field.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "ClassGetterDecoratorContext", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassGetterDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Context provided to a class getter decorator.", + "kind": "text" + } + ], + "tags": [ + { + "name": "template", + "text": [ + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type on which the class element will be defined. For a static class element, this will be\nthe type of the constructor. For a non-static class element, this will be the type of the instance.", + "kind": "text" + } + ] + }, + { + "name": "template", + "text": [ + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The property type of the decorated class getter.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "ClassMemberDecoratorContext", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassMemberDecoratorContext", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassMethodDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "this", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassGetterDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassSetterDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassFieldDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "text" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassAccessorDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "text" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "The decorator context types provided to class element decorators.", + "kind": "text" + } + ] + }, + { + "name": "ClassMethodDecoratorContext", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassMethodDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "this", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "this", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Context provided to a class method decorator.", + "kind": "text" + } + ], + "tags": [ + { + "name": "template", + "text": [ + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type on which the class element will be defined. For a static class element, this will be\nthe type of the constructor. For a non-static class element, this will be the type of the instance.", + "kind": "text" + } + ] + }, + { + "name": "template", + "text": [ + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type of the decorated class method.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "ClassSetterDecoratorContext", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassSetterDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Context provided to a class setter decorator.", + "kind": "text" + } + ], + "tags": [ + { + "name": "template", + "text": [ + { + "text": "This", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type on which the class element will be defined. For a static class element, this will be\nthe type of the constructor. For a non-static class element, this will be the type of the instance.", + "kind": "text" + } + ] + }, + { + "name": "template", + "text": [ + { + "text": "Value", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "The type of the decorated class setter.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "ConcatArray", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ConcatArray", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "ConstructorParameters", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ConstructorParameters", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "abstract", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "abstract", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "never", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Obtain the parameters of a constructor function type in a tuple", + "kind": "text" + } + ] + }, + { + "name": "DataView", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "DataViewConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Date", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Enables basic storage and retrieval of dates and times.", + "kind": "text" + } + ] + }, + { + "name": "DateConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "DecoratorContext", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DecoratorContext", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassMemberDecoratorContext", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ClassDecoratorContext", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "abstract", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "The decorator context types provided to any decorator.", + "kind": "text" + } + ] + }, + { + "name": "DecoratorMetadata", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DecoratorMetadata", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Record", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "PropertyKey", + "kind": "aliasName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "&", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "object", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "DecoratorMetadataObject", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DecoratorMetadataObject", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Record", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "PropertyKey", + "kind": "aliasName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "&", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "object", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "Error", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "EvalError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "EvalErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Exclude", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Exclude", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "never", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + } + ], + "documentation": [ + { + "text": "Exclude from T those types that are assignable to U", + "kind": "text" + } + ] + }, + { + "name": "Extract", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Extract", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "never", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Extract from T those types that are assignable to U", + "kind": "text" + } + ] + }, + { + "name": "false", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "false", + "kind": "keyword" + } + ] + }, + { + "name": "Float32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float32ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Float64Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float64ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Function", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Creates a new function.", + "kind": "text" + } + ] + }, + { + "name": "FunctionConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "globalThis", + "kind": "module", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "globalThis", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "IArguments", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "IArguments", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ImportAttributes", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ImportAttributes", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "The type for the `with` property of the optional second argument to `import()`.", + "kind": "text" + } + ] + }, + { + "name": "ImportCallOptions", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ImportCallOptions", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "The type for the optional second argument to `import()`.\n\nIf your host environment supports additional options, this type may be\naugmented via interface merging.", + "kind": "text" + } + ] + }, + { + "name": "ImportMeta", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ImportMeta", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "The type of `import.meta`.\n\nIf you need to declare that a given property exists on `import.meta`,\nthis type may be augmented via interface merging.", + "kind": "text" + } + ] + }, + { + "name": "infer", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "infer", + "kind": "keyword" + } + ] + }, + { + "name": "InstanceType", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "InstanceType", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "abstract", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "abstract", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "R", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "R", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Obtain the return type of a constructor function type", + "kind": "text" + } + ] + }, + { + "name": "Int8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int8ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Int16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int16ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Int32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int32ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Intl", + "kind": "module", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Intl", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "JSON", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.", + "kind": "text" + } + ] + }, + { + "name": "keyof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "keyof", + "kind": "keyword" + } + ] + }, + { + "name": "Lowercase", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Lowercase", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "S", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "intrinsic", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Convert string literal type to lowercase", + "kind": "text" + } + ] + }, + { + "name": "Math", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides basic mathematics functionality and constants.", + "kind": "text" + } + ] + }, + { + "name": "MethodDecorator", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "MethodDecorator", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "target", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "propertyKey", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "symbol", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "descriptor", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypedPropertyDescriptor", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypedPropertyDescriptor", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "never", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "never", + "kind": "keyword" + } + ] + }, + { + "name": "NewableFunction", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NewableFunction", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "NoInfer", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NoInfer", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "intrinsic", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Marker for non-inference type position", + "kind": "text" + } + ] + }, + { + "name": "NonNullable", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NonNullable", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "&", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Exclude null and undefined from T", + "kind": "text" + } + ] + }, + { + "name": "null", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "null", + "kind": "keyword" + } + ] + }, + { + "name": "number", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "number", + "kind": "keyword" + } + ] + }, + { + "name": "Number", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers.", + "kind": "text" + } + ] + }, + { + "name": "NumberConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "object", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "object", + "kind": "keyword" + } + ] + }, + { + "name": "Object", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Provides functionality common to all JavaScript objects.", + "kind": "text" + } + ] + }, + { + "name": "ObjectConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Omit", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Omit", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "K", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "keyof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Exclude", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "keyof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "K", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Construct a type with the properties of T except for those in type K.", + "kind": "text" + } + ] + }, + { + "name": "OmitThisParameter", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "OmitThisParameter", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ThisParameterType", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "R", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "R", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + } + ], + "documentation": [ + { + "text": "Removes the 'this' parameter from a function type.", + "kind": "text" + } + ] + }, + { + "name": "ParameterDecorator", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ParameterDecorator", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "target", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "propertyKey", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "symbol", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "undefined", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parameterIndex", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "Parameters", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Parameters", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "never", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Obtain the parameters of a function type in a tuple", + "kind": "text" + } + ] + }, + { + "name": "Partial", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Partial", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "keyof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Make all properties in T optional", + "kind": "text" + } + ] + }, + { + "name": "Pick", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Pick", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "K", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "keyof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "K", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "From T, pick a set of properties whose keys are in the union K", + "kind": "text" + } + ] + }, + { + "name": "Promise", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Promise", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Represents the completion of an asynchronous operation", + "kind": "text" + } + ] + }, + { + "name": "PromiseConstructorLike", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "PromiseConstructorLike", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "new", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "executor", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "resolve", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "value", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "PromiseLike", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "reject", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "reason", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "PromiseLike", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "PromiseLike", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "PromiseLike", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "PropertyDecorator", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "PropertyDecorator", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "target", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "propertyKey", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "symbol", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "PropertyDescriptor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "PropertyDescriptor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "PropertyDescriptorMap", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "PropertyDescriptorMap", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "PropertyKey", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "PropertyKey", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "symbol", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "RangeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RangeErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "readonly", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "readonly", + "kind": "keyword" + } + ] + }, + { + "name": "Readonly", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Readonly", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "readonly", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "keyof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Make all properties in T readonly", + "kind": "text" + } + ] + }, + { + "name": "ReadonlyArray", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReadonlyArray", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "Record", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Record", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "K", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "keyof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "K", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Construct a type with a set of properties K of type T", + "kind": "text" + } + ] + }, + { + "name": "ReferenceError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ReferenceErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExp", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExpConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExpExecArray", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpExecArray", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExpMatchArray", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpMatchArray", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Required", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Required", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "{", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "in", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "keyof", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": "-", + "kind": "punctuation" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "P", + "kind": "typeParameterName" + }, + { + "text": "]", + "kind": "punctuation" + }, + { + "text": ";", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "}", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Make all properties in T required", + "kind": "text" + } + ] + }, + { + "name": "ReturnType", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReturnType", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "R", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "R", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Obtain the return type of a function type", + "kind": "text" + } + ] + }, + { + "name": "string", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "string", + "kind": "keyword" + } + ] + }, + { + "name": "String", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allows manipulation and formatting of text strings and determination and location of substrings within strings.", + "kind": "text" + } + ] + }, + { + "name": "StringConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "symbol", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "symbol", + "kind": "keyword" + } + ] + }, + { + "name": "Symbol", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Symbol", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "SyntaxError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "SyntaxErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "TemplateStringsArray", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TemplateStringsArray", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ThisParameterType", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ThisParameterType", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "this", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "infer", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "args", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "never", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=>", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "U", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unknown", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Extracts the type of the 'this' parameter of a function type, or 'unknown' if the function type has no 'this' parameter.", + "kind": "text" + } + ] + }, + { + "name": "ThisType", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ThisType", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [ + { + "text": "Marker for contextual 'this' type", + "kind": "text" + } + ] + }, + { + "name": "true", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "true", + "kind": "keyword" + } + ] + }, + { + "name": "TypedPropertyDescriptor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypedPropertyDescriptor", + "kind": "interfaceName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "documentation": [] + }, + { + "name": "TypeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "TypeErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "typeof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "typeof", + "kind": "keyword" + } + ] + }, + { + "name": "Uint8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Uint8ClampedArray", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ClampedArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Uint16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint16ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Uint32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint32ArrayConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Uncapitalize", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uncapitalize", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "S", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "intrinsic", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Convert first character of string literal type to lowercase", + "kind": "text" + } + ] + }, + { + "name": "undefined", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "undefined", + "kind": "keyword" + } + ] + }, + { + "name": "unique", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unique", + "kind": "keyword" + } + ] + }, + { + "name": "unknown", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unknown", + "kind": "keyword" + } + ] + }, + { + "name": "Uppercase", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uppercase", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "S", + "kind": "typeParameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "extends", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "intrinsic", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Convert string literal type to uppercase", + "kind": "text" + } + ] + }, + { + "name": "URIError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "URIErrorConstructor", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "void", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "void", + "kind": "keyword" + } + ] + }, + { + "name": "WeakKey", + "kind": "type", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "WeakKey", + "kind": "aliasName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "=", + "kind": "operator" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "object", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "WeakKeyTypes", + "kind": "interface", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "WeakKeyTypes", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Stores types to be used with WeakSet, WeakMap, WeakRef, and FinalizationRegistry", + "kind": "text" + } + ] + }, + { + "name": "ImportAssertions", + "kind": "interface", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ImportAssertions", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "The type for the `assert` property of the optional second argument to `import()`.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated" + } + ] + } + ], + "defaultCommitCharacters": [] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/completionsInitializerCommitCharacter.baseline b/tests/baselines/reference/completionsInitializerCommitCharacter.baseline new file mode 100644 index 0000000000000..733f67a72679c --- /dev/null +++ b/tests/baselines/reference/completionsInitializerCommitCharacter.baseline @@ -0,0 +1,3569 @@ +// === Completions === +=== /tests/cases/fourslash/file1.ts === +// const mySpecialVar = 1; +// const foo = mySpec +// ^^^^^^ +// | ---------------------------------------------------------------------- +// | const mySpecialVar: 1 +// | abstract +// | any +// | interface Array +// | var Array: ArrayConstructor +// | interface ArrayBuffer +// | var ArrayBuffer: ArrayBufferConstructor +// | as +// | asserts +// | async +// | await +// | bigint +// | boolean +// | interface Boolean +// | var Boolean: BooleanConstructor +// | break +// | case +// | catch +// | class +// | const +// | continue +// | interface DataView +// | var DataView: DataViewConstructor +// | interface Date +// | var Date: DateConstructor +// | debugger +// | declare +// | function decodeURI(encodedURI: string): string +// | function decodeURIComponent(encodedURIComponent: string): string +// | default +// | delete +// | do +// | else +// | function encodeURI(uri: string): string +// | function encodeURIComponent(uriComponent: string | number | boolean): string +// | enum +// | interface Error +// | var Error: ErrorConstructor +// | function eval(x: string): any +// | interface EvalError +// | var EvalError: EvalErrorConstructor +// | export +// | extends +// | false +// | finally +// | interface Float32Array +// | var Float32Array: Float32ArrayConstructor +// | interface Float64Array +// | var Float64Array: Float64ArrayConstructor +// | for +// | function +// | interface Function +// | var Function: FunctionConstructor +// | module globalThis +// | if +// | implements +// | import +// | in +// | infer +// | var Infinity: number +// | instanceof +// | interface Int8Array +// | var Int8Array: Int8ArrayConstructor +// | interface Int16Array +// | var Int16Array: Int16ArrayConstructor +// | interface Int32Array +// | var Int32Array: Int32ArrayConstructor +// | interface +// | namespace Intl +// | function isFinite(number: number): boolean +// | function isNaN(number: number): boolean +// | interface JSON +// | var JSON: JSON +// | keyof +// | let +// | interface Math +// | var Math: Math +// | module +// | namespace +// | var NaN: number +// | never +// | new +// | null +// | number +// | interface Number +// | var Number: NumberConstructor +// | object +// | interface Object +// | var Object: ObjectConstructor +// | package +// | function parseFloat(string: string): number +// | function parseInt(string: string, radix?: number): number +// | interface RangeError +// | var RangeError: RangeErrorConstructor +// | readonly +// | interface ReferenceError +// | var ReferenceError: ReferenceErrorConstructor +// | interface RegExp +// | var RegExp: RegExpConstructor +// | return +// | satisfies +// | string +// | interface String +// | var String: StringConstructor +// | super +// | switch +// | symbol +// | interface SyntaxError +// | var SyntaxError: SyntaxErrorConstructor +// | this +// | throw +// | true +// | try +// | type +// | interface TypeError +// | var TypeError: TypeErrorConstructor +// | typeof +// | interface Uint8Array +// | var Uint8Array: Uint8ArrayConstructor +// | interface Uint8ClampedArray +// | var Uint8ClampedArray: Uint8ClampedArrayConstructor +// | interface Uint16Array +// | var Uint16Array: Uint16ArrayConstructor +// | interface Uint32Array +// | var Uint32Array: Uint32ArrayConstructor +// | var undefined +// | unique +// | unknown +// | interface URIError +// | var URIError: URIErrorConstructor +// | using +// | var +// | void +// | while +// | with +// | yield +// | function escape(string: string): string +// | function unescape(string: string): string +// | ---------------------------------------------------------------------- + +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/file1.ts", + "position": 42, + "name": "" + }, + "item": { + "flags": 0, + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": true, + "optionalReplacementSpan": { + "start": 36, + "length": 6 + }, + "entries": [ + { + "name": "mySpecialVar", + "kind": "const", + "kindModifiers": "", + "sortText": "11", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "mySpecialVar", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "1", + "kind": "stringLiteral" + } + ], + "documentation": [] + }, + { + "name": "abstract", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "abstract", + "kind": "keyword" + } + ] + }, + { + "name": "any", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "any", + "kind": "keyword" + } + ] + }, + { + "name": "Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "T", + "kind": "typeParameterName" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "ArrayBuffer", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBuffer", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ArrayBufferConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Represents a raw buffer of binary data, which is used to store data for the\ndifferent typed arrays. ArrayBuffers cannot be read from or written to directly,\nbut can be passed to a typed array or DataView Object to interpret the raw\nbuffer as needed.", + "kind": "text" + } + ] + }, + { + "name": "as", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "as", + "kind": "keyword" + } + ] + }, + { + "name": "asserts", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "asserts", + "kind": "keyword" + } + ] + }, + { + "name": "async", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "async", + "kind": "keyword" + } + ] + }, + { + "name": "await", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "await", + "kind": "keyword" + } + ] + }, + { + "name": "bigint", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "bigint", + "kind": "keyword" + } + ] + }, + { + "name": "boolean", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "boolean", + "kind": "keyword" + } + ] + }, + { + "name": "Boolean", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Boolean", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BooleanConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "break", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "break", + "kind": "keyword" + } + ] + }, + { + "name": "case", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "case", + "kind": "keyword" + } + ] + }, + { + "name": "catch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "catch", + "kind": "keyword" + } + ] + }, + { + "name": "class", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "class", + "kind": "keyword" + } + ] + }, + { + "name": "const", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "const", + "kind": "keyword" + } + ] + }, + { + "name": "continue", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "continue", + "kind": "keyword" + } + ] + }, + { + "name": "DataView", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataView", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DataViewConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "Date", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Date", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "DateConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Enables basic storage and retrieval of dates and times.", + "kind": "text" + } + ] + }, + { + "name": "debugger", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "debugger", + "kind": "keyword" + } + ] + }, + { + "name": "declare", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "declare", + "kind": "keyword" + } + ] + }, + { + "name": "decodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURI", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "decodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "decodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "encodedURIComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an encoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "default", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "default", + "kind": "keyword" + } + ] + }, + { + "name": "delete", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "delete", + "kind": "keyword" + } + ] + }, + { + "name": "do", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "do", + "kind": "keyword" + } + ] + }, + { + "name": "else", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "else", + "kind": "keyword" + } + ] + }, + { + "name": "encodeURI", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURI", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid Uniform Resource Identifier (URI)", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uri", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "encodeURIComponent", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "encodeURIComponent", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "|", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Encodes a text string as a valid component of a Uniform Resource Identifier (URI).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "uriComponent", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value representing an unencoded URI component.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "enum", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "enum", + "kind": "keyword" + } + ] + }, + { + "name": "Error", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Error", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "eval", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "eval", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "x", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "any", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Evaluates JavaScript code and executes it.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "x", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A String value that contains valid JavaScript code.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "EvalError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "EvalErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "export", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "export", + "kind": "keyword" + } + ] + }, + { + "name": "extends", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "extends", + "kind": "keyword" + } + ] + }, + { + "name": "false", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "false", + "kind": "keyword" + } + ] + }, + { + "name": "finally", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "finally", + "kind": "keyword" + } + ] + }, + { + "name": "Float32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Float64Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Float64ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "for", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "for", + "kind": "keyword" + } + ] + }, + { + "name": "function", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + } + ] + }, + { + "name": "Function", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Function", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "FunctionConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Creates a new function.", + "kind": "text" + } + ] + }, + { + "name": "globalThis", + "kind": "module", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "globalThis", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "if", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "if", + "kind": "keyword" + } + ] + }, + { + "name": "implements", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "implements", + "kind": "keyword" + } + ] + }, + { + "name": "import", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "import", + "kind": "keyword" + } + ] + }, + { + "name": "in", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "in", + "kind": "keyword" + } + ] + }, + { + "name": "infer", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "infer", + "kind": "keyword" + } + ] + }, + { + "name": "Infinity", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Infinity", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "instanceof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "instanceof", + "kind": "keyword" + } + ] + }, + { + "name": "Int8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Int32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Int32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "interface", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + } + ] + }, + { + "name": "Intl", + "kind": "module", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Intl", + "kind": "moduleName" + } + ], + "documentation": [] + }, + { + "name": "isFinite", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isFinite", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Determines whether a supplied number is finite.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Any numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "isNaN", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "isNaN", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "number", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "boolean", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number).", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "number", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A numeric value.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "JSON", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "JSON", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format.", + "kind": "text" + } + ] + }, + { + "name": "keyof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "keyof", + "kind": "keyword" + } + ] + }, + { + "name": "let", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "let", + "kind": "keyword" + } + ] + }, + { + "name": "Math", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Math", + "kind": "localName" + } + ], + "documentation": [ + { + "text": "An intrinsic object that provides basic mathematics functionality and constants.", + "kind": "text" + } + ] + }, + { + "name": "module", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "module", + "kind": "keyword" + } + ] + }, + { + "name": "namespace", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "namespace", + "kind": "keyword" + } + ] + }, + { + "name": "NaN", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NaN", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [] + }, + { + "name": "never", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "never", + "kind": "keyword" + } + ] + }, + { + "name": "new", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "new", + "kind": "keyword" + } + ] + }, + { + "name": "null", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "null", + "kind": "keyword" + } + ] + }, + { + "name": "number", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "number", + "kind": "keyword" + } + ] + }, + { + "name": "Number", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Number", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "NumberConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers.", + "kind": "text" + } + ] + }, + { + "name": "object", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "object", + "kind": "keyword" + } + ] + }, + { + "name": "Object", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Object", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ObjectConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Provides functionality common to all JavaScript objects.", + "kind": "text" + } + ] + }, + { + "name": "package", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "package", + "kind": "keyword" + } + ] + }, + { + "name": "parseFloat", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseFloat", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to a floating-point number.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string that contains a floating-point number.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "parseInt", + "kind": "function", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "parseInt", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": "?", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Converts a string to an integer.", + "kind": "text" + } + ], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string to convert into a number.", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "radix", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A value between 2 and 36 that specifies the base of the number in `string`.\nIf this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal.\nAll other strings are considered decimal.", + "kind": "text" + } + ] + } + ] + }, + { + "name": "RangeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RangeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "readonly", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "readonly", + "kind": "keyword" + } + ] + }, + { + "name": "ReferenceError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "ReferenceErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "RegExp", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExp", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "RegExpConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "return", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "return", + "kind": "keyword" + } + ] + }, + { + "name": "satisfies", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "satisfies", + "kind": "keyword" + } + ] + }, + { + "name": "string", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "string", + "kind": "keyword" + } + ] + }, + { + "name": "String", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "String", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "StringConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "Allows manipulation and formatting of text strings and determination and location of substrings within strings.", + "kind": "text" + } + ] + }, + { + "name": "super", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "super", + "kind": "keyword" + } + ] + }, + { + "name": "switch", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "switch", + "kind": "keyword" + } + ] + }, + { + "name": "symbol", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "symbol", + "kind": "keyword" + } + ] + }, + { + "name": "SyntaxError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "SyntaxErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "this", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "this", + "kind": "keyword" + } + ] + }, + { + "name": "throw", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "throw", + "kind": "keyword" + } + ] + }, + { + "name": "true", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "true", + "kind": "keyword" + } + ] + }, + { + "name": "try", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "try", + "kind": "keyword" + } + ] + }, + { + "name": "type", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "type", + "kind": "keyword" + } + ] + }, + { + "name": "TypeError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "TypeErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "typeof", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "typeof", + "kind": "keyword" + } + ] + }, + { + "name": "Uint8Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint8ClampedArray", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArray", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint8ClampedArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint16Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint16ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "Uint32Array", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32Array", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Uint32ArrayConstructor", + "kind": "interfaceName" + } + ], + "documentation": [ + { + "text": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.", + "kind": "text" + } + ] + }, + { + "name": "undefined", + "kind": "var", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "undefined", + "kind": "propertyName" + } + ], + "documentation": [] + }, + { + "name": "unique", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unique", + "kind": "keyword" + } + ] + }, + { + "name": "unknown", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "unknown", + "kind": "keyword" + } + ] + }, + { + "name": "URIError", + "kind": "var", + "kindModifiers": "declare", + "sortText": "15", + "displayParts": [ + { + "text": "interface", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": "\n", + "kind": "lineBreak" + }, + { + "text": "var", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIError", + "kind": "localName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "URIErrorConstructor", + "kind": "interfaceName" + } + ], + "documentation": [] + }, + { + "name": "using", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "using", + "kind": "keyword" + } + ] + }, + { + "name": "var", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "var", + "kind": "keyword" + } + ] + }, + { + "name": "void", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "void", + "kind": "keyword" + } + ] + }, + { + "name": "while", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "while", + "kind": "keyword" + } + ] + }, + { + "name": "with", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "with", + "kind": "keyword" + } + ] + }, + { + "name": "yield", + "kind": "keyword", + "kindModifiers": "", + "sortText": "15", + "displayParts": [ + { + "text": "yield", + "kind": "keyword" + } + ] + }, + { + "name": "escape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "escape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + }, + { + "name": "unescape", + "kind": "function", + "kindModifiers": "deprecated,declare", + "sortText": "z15", + "displayParts": [ + { + "text": "function", + "kind": "keyword" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "unescape", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "documentation": [ + { + "text": "Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents.", + "kind": "text" + } + ], + "tags": [ + { + "name": "deprecated", + "text": [ + { + "text": "A legacy feature for browser compatibility", + "kind": "text" + } + ] + }, + { + "name": "param", + "text": [ + { + "text": "string", + "kind": "parameterName" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "A string value", + "kind": "text" + } + ] + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/completionsStringCommitCharacter.baseline b/tests/baselines/reference/completionsStringCommitCharacter.baseline new file mode 100644 index 0000000000000..f4fa70212ee6b --- /dev/null +++ b/tests/baselines/reference/completionsStringCommitCharacter.baseline @@ -0,0 +1,68 @@ +// === Completions === +=== /tests/cases/fourslash/file1.ts === +// const a: "aa" | "bb" = "" +// ^ +// | ---------------------------------------------------------------------- +// | aa +// | bb +// | ---------------------------------------------------------------------- + +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/file1.ts", + "position": 24, + "name": "" + }, + "item": { + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": false, + "optionalReplacementSpan": { + "start": 24, + "length": 0 + }, + "entries": [ + { + "name": "aa", + "kindModifiers": "", + "kind": "string", + "sortText": "11", + "replacementSpan": { + "start": 24, + "length": 0 + }, + "commitCharacters": [], + "displayParts": [ + { + "text": "aa", + "kind": "text" + } + ] + }, + { + "name": "bb", + "kindModifiers": "", + "kind": "string", + "sortText": "11", + "replacementSpan": { + "start": 24, + "length": 0 + }, + "commitCharacters": [], + "displayParts": [ + { + "text": "bb", + "kind": "text" + } + ] + } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/contextualPropertyOfGenericFilteringMappedType.errors.txt b/tests/baselines/reference/contextualPropertyOfGenericFilteringMappedType.errors.txt new file mode 100644 index 0000000000000..0c45d770b1dad --- /dev/null +++ b/tests/baselines/reference/contextualPropertyOfGenericFilteringMappedType.errors.txt @@ -0,0 +1,55 @@ +contextualPropertyOfGenericFilteringMappedType.ts(38,5): error TS2353: Object literal may only specify known properties, and 'foo' does not exist in type '{ bar: (value: string, prop: "bar") => void; }'. +contextualPropertyOfGenericFilteringMappedType.ts(38,11): error TS7006: Parameter 'value' implicitly has an 'any' type. +contextualPropertyOfGenericFilteringMappedType.ts(38,18): error TS7006: Parameter 'key' implicitly has an 'any' type. + + +==== contextualPropertyOfGenericFilteringMappedType.ts (3 errors) ==== + declare function f1( + data: T, + handlers: { [P in keyof T as P]: (value: T[P], prop: P) => void }, + ): void; + + f1( + { + foo: 0, + bar: "", + }, + { + foo: (value, key) => {}, + bar: (value, key) => {}, + }, + ); + + declare function f2( + data: T, + handlers: { [P in keyof T as T[P] extends string ? P : never]: (value: T[P], prop: P) => void }, + ): void; + + f2( + { + foo: 0, + bar: "", + }, + { + bar: (value, key) => {}, + }, + ); + + f2( + { + foo: 0, + bar: "", + }, + { + foo: (value, key) => { + ~~~ +!!! error TS2353: Object literal may only specify known properties, and 'foo' does not exist in type '{ bar: (value: string, prop: "bar") => void; }'. + ~~~~~ +!!! error TS7006: Parameter 'value' implicitly has an 'any' type. + ~~~ +!!! error TS7006: Parameter 'key' implicitly has an 'any' type. + // implicit `any`s + }, + }, + ); + \ No newline at end of file diff --git a/tests/baselines/reference/contextualPropertyOfGenericFilteringMappedType.symbols b/tests/baselines/reference/contextualPropertyOfGenericFilteringMappedType.symbols index 5bcaba07ec255..a49b80fcfc9d9 100644 --- a/tests/baselines/reference/contextualPropertyOfGenericFilteringMappedType.symbols +++ b/tests/baselines/reference/contextualPropertyOfGenericFilteringMappedType.symbols @@ -88,3 +88,24 @@ f2( }, ); +f2( +>f2 : Symbol(f2, Decl(contextualPropertyOfGenericFilteringMappedType.ts, 14, 2)) + { + foo: 0, +>foo : Symbol(foo, Decl(contextualPropertyOfGenericFilteringMappedType.ts, 32, 3)) + + bar: "", +>bar : Symbol(bar, Decl(contextualPropertyOfGenericFilteringMappedType.ts, 33, 11)) + + }, + { + foo: (value, key) => { +>foo : Symbol(foo, Decl(contextualPropertyOfGenericFilteringMappedType.ts, 36, 3)) +>value : Symbol(value, Decl(contextualPropertyOfGenericFilteringMappedType.ts, 37, 10)) +>key : Symbol(key, Decl(contextualPropertyOfGenericFilteringMappedType.ts, 37, 16)) + + // implicit `any`s + }, + }, +); + diff --git a/tests/baselines/reference/contextualPropertyOfGenericFilteringMappedType.types b/tests/baselines/reference/contextualPropertyOfGenericFilteringMappedType.types index b55c98f6f650f..dd7dd68b0f8c8 100644 --- a/tests/baselines/reference/contextualPropertyOfGenericFilteringMappedType.types +++ b/tests/baselines/reference/contextualPropertyOfGenericFilteringMappedType.types @@ -125,3 +125,44 @@ f2( }, ); +f2( +>f2( { foo: 0, bar: "", }, { foo: (value, key) => { // implicit `any`s }, },) : void +> : ^^^^ +>f2 : (data: T, handlers: { [P in keyof T as T[P] extends string ? P : never]: (value: T[P], prop: P) => void; }) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ + { +>{ foo: 0, bar: "", } : { foo: number; bar: string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + foo: 0, +>foo : number +> : ^^^^^^ +>0 : 0 +> : ^ + + bar: "", +>bar : string +> : ^^^^^^ +>"" : "" +> : ^^ + + }, + { +>{ foo: (value, key) => { // implicit `any`s }, } : { foo: (value: any, key: any) => void; } +> : ^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^ + + foo: (value, key) => { +>foo : (value: any, key: any) => void +> : ^ ^^^^^^^ ^^^^^^^^^^^^^^ +>(value, key) => { // implicit `any`s } : (value: any, key: any) => void +> : ^ ^^^^^^^ ^^^^^^^^^^^^^^ +>value : any +> : ^^^ +>key : any +> : ^^^ + + // implicit `any`s + }, + }, +); + diff --git a/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix1.symbols b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix1.symbols new file mode 100644 index 0000000000000..3b959ad27842b --- /dev/null +++ b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix1.symbols @@ -0,0 +1,114 @@ +//// [tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts] //// + +=== contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts === +type ComponentType

= (p: P) => any; +>ComponentType : Symbol(ComponentType, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 0, 0)) +>P : Symbol(P, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 0, 19)) +>p : Symbol(p, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 0, 25)) +>P : Symbol(P, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 0, 19)) + +type ComponentProps = C extends ComponentType ? P : never; +>ComponentProps : Symbol(ComponentProps, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 0, 38)) +>C : Symbol(C, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 1, 20)) +>C : Symbol(C, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 1, 20)) +>ComponentType : Symbol(ComponentType, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 0, 0)) +>P : Symbol(P, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 1, 54)) +>P : Symbol(P, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 1, 54)) + +type Attrs> = A; +>Attrs : Symbol(Attrs, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 1, 70)) +>P : Symbol(P, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 3, 11)) +>A : Symbol(A, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 3, 13)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) +>P : Symbol(P, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 3, 11)) +>A : Symbol(A, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 3, 13)) + +interface StyledFunction< +>StyledFunction : Symbol(StyledFunction, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 3, 40)) + + C extends ComponentType, +>C : Symbol(C, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 5, 25)) +>ComponentType : Symbol(ComponentType, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 0, 0)) + + O extends object = {}, +>O : Symbol(O, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 6, 31)) + + A extends keyof any = never, +>A : Symbol(A, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 7, 24)) + +> { + attrs< +>attrs : Symbol(StyledFunction.attrs, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 9, 3)) + + U, +>U : Symbol(U, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 10, 8)) + + NewA extends Partial & U> & { +>NewA : Symbol(NewA, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 11, 6)) +>Partial : Symbol(Partial, Decl(lib.es5.d.ts, --, --)) +>ComponentProps : Symbol(ComponentProps, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 0, 38)) +>C : Symbol(C, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 5, 25)) +>U : Symbol(U, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 10, 8)) + + [others: string]: any; +>others : Symbol(others, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 13, 7)) + + } = {}, + >( + attrs: Attrs & U, NewA>, +>attrs : Symbol(attrs, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 15, 4)) +>Attrs : Symbol(Attrs, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 1, 70)) +>ComponentProps : Symbol(ComponentProps, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 0, 38)) +>C : Symbol(C, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 5, 25)) +>U : Symbol(U, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 10, 8)) +>NewA : Symbol(NewA, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 11, 6)) + + ): StyledFunction; +>StyledFunction : Symbol(StyledFunction, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 3, 40)) +>C : Symbol(C, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 5, 25)) +>O : Symbol(O, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 6, 31)) +>NewA : Symbol(NewA, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 11, 6)) +>A : Symbol(A, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 7, 24)) +>NewA : Symbol(NewA, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 11, 6)) +} + +interface StyledInterface { +>StyledInterface : Symbol(StyledInterface, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 18, 1)) + + >(component: C): StyledFunction; +>C : Symbol(C, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 21, 3)) +>ComponentType : Symbol(ComponentType, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 0, 0)) +>component : Symbol(component, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 21, 33)) +>C : Symbol(C, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 21, 3)) +>StyledFunction : Symbol(StyledFunction, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 3, 40)) +>C : Symbol(C, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 21, 3)) +} + +declare const styled: StyledInterface; +>styled : Symbol(styled, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 24, 13)) +>StyledInterface : Symbol(StyledInterface, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 18, 1)) + +interface BaseProps { +>BaseProps : Symbol(BaseProps, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 24, 38)) + + as?: "select" | "input"; +>as : Symbol(BaseProps.as, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 26, 21)) +} + +declare const Flex: (props: BaseProps) => null; +>Flex : Symbol(Flex, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 30, 13)) +>props : Symbol(props, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 30, 21)) +>BaseProps : Symbol(BaseProps, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 24, 38)) + +export const StyledSelect = styled(Flex).attrs({ +>StyledSelect : Symbol(StyledSelect, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 32, 12)) +>styled(Flex).attrs : Symbol(StyledFunction.attrs, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 9, 3)) +>styled : Symbol(styled, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 24, 13)) +>Flex : Symbol(Flex, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 30, 13)) +>attrs : Symbol(StyledFunction.attrs, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 9, 3)) + + as: "select", +>as : Symbol(as, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts, 32, 48)) + +}); + diff --git a/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix1.types b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix1.types new file mode 100644 index 0000000000000..ae23832fdd9c0 --- /dev/null +++ b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix1.types @@ -0,0 +1,89 @@ +//// [tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts] //// + +=== contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts === +type ComponentType

= (p: P) => any; +>ComponentType : ComponentType

+> : ^^^^^^^^^^^^^^^^ +>p : P +> : ^ + +type ComponentProps = C extends ComponentType ? P : never; +>ComponentProps : ComponentProps +> : ^^^^^^^^^^^^^^^^^ + +type Attrs> = A; +>Attrs : A +> : ^ + +interface StyledFunction< + C extends ComponentType, + O extends object = {}, + A extends keyof any = never, +> { + attrs< +>attrs : & U> & { [others: string]: any; } = {}>(attrs: Attrs & U, NewA>) => StyledFunction +> : ^ ^^ ^^^^^^^^^ ^^^^^^^ ^^ ^^^^^ + + U, + NewA extends Partial & U> & { + [others: string]: any; +>others : string +> : ^^^^^^ + + } = {}, + >( + attrs: Attrs & U, NewA>, +>attrs : NewA +> : ^^^^ + + ): StyledFunction; +} + +interface StyledInterface { + >(component: C): StyledFunction; +>component : C +> : ^ +} + +declare const styled: StyledInterface; +>styled : StyledInterface +> : ^^^^^^^^^^^^^^^ + +interface BaseProps { + as?: "select" | "input"; +>as : "select" | "input" | undefined +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +} + +declare const Flex: (props: BaseProps) => null; +>Flex : (props: BaseProps) => null +> : ^ ^^ ^^^^^ +>props : BaseProps +> : ^^^^^^^^^ + +export const StyledSelect = styled(Flex).attrs({ +>StyledSelect : StyledFunction<(props: BaseProps) => null, { as: "select"; }, "as"> +> : ^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>styled(Flex).attrs({ as: "select",}) : StyledFunction<(props: BaseProps) => null, { as: "select"; }, "as"> +> : ^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>styled(Flex).attrs : & { [others: string]: any; } = {}>(attrs: NewA) => StyledFunction<(props: BaseProps) => null, {} & NewA, keyof NewA> +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>styled(Flex) : StyledFunction<(props: BaseProps) => null, {}, never> +> : ^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^ +>styled : StyledInterface +> : ^^^^^^^^^^^^^^^ +>Flex : (props: BaseProps) => null +> : ^ ^^ ^^^^^ +>attrs : & { [others: string]: any; } = {}>(attrs: NewA) => StyledFunction<(props: BaseProps) => null, {} & NewA, keyof NewA> +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>{ as: "select",} : { as: "select"; } +> : ^^^^^^^^^^^^^^^^^ + + as: "select", +>as : "select" +> : ^^^^^^^^ +>"select" : "select" +> : ^^^^^^^^ + +}); + diff --git a/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix2.symbols b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix2.symbols new file mode 100644 index 0000000000000..0776e0ce7aa2e --- /dev/null +++ b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix2.symbols @@ -0,0 +1,83 @@ +//// [tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts] //// + +=== contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts === +type IntrinsicElements = { +>IntrinsicElements : Symbol(IntrinsicElements, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 0, 0)) + + a: { +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 0, 26)) + + href?: string; +>href : Symbol(href, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 1, 6)) + + }; + div: { +>div : Symbol(div, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 3, 4)) + + dir?: string; +>dir : Symbol(dir, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 4, 8)) + + }; +}; + +type Component = (props: Props) => unknown; +>Component : Symbol(Component, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 7, 2)) +>Props : Symbol(Props, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 9, 15)) +>props : Symbol(props, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 9, 25)) +>Props : Symbol(Props, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 9, 15)) + +interface NestedMDXComponents { +>NestedMDXComponents : Symbol(NestedMDXComponents, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 9, 50)) + + [key: string]: Component; +>key : Symbol(key, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 12, 3)) +>Component : Symbol(Component, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 7, 2)) +} + +type MDXComponents = NestedMDXComponents & { +>MDXComponents : Symbol(MDXComponents, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 13, 1)) +>NestedMDXComponents : Symbol(NestedMDXComponents, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 9, 50)) + + [Key in keyof IntrinsicElements]?: Component; +>Key : Symbol(Key, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 16, 3)) +>IntrinsicElements : Symbol(IntrinsicElements, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 0, 0)) +>Component : Symbol(Component, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 7, 2)) +>IntrinsicElements : Symbol(IntrinsicElements, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 0, 0)) +>Key : Symbol(Key, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 16, 3)) + +}; + +export interface MDXProps { +>MDXProps : Symbol(MDXProps, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 17, 2)) + + components?: MDXComponents; +>components : Symbol(MDXProps.components, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 19, 27)) +>MDXComponents : Symbol(MDXComponents, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 13, 1)) +} + +declare function MyMDXComponent(props: MDXProps): null; +>MyMDXComponent : Symbol(MyMDXComponent, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 21, 1)) +>props : Symbol(props, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 23, 32)) +>MDXProps : Symbol(MDXProps, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 17, 2)) + +MyMDXComponent({ +>MyMDXComponent : Symbol(MyMDXComponent, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 21, 1)) + + components: { +>components : Symbol(components, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 25, 16)) + + a(props) { +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 26, 15)) +>props : Symbol(props, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 27, 6)) + + return null; + }, + div(props) { +>div : Symbol(div, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 29, 6)) +>props : Symbol(props, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts, 30, 8)) + + return null; + }, + }, +}); + diff --git a/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix2.types b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix2.types new file mode 100644 index 0000000000000..d29a47924fbe0 --- /dev/null +++ b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix2.types @@ -0,0 +1,91 @@ +//// [tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts] //// + +=== contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts === +type IntrinsicElements = { +>IntrinsicElements : IntrinsicElements +> : ^^^^^^^^^^^^^^^^^ + + a: { +>a : { href?: string; } +> : ^^^^^^^^^ ^^^ + + href?: string; +>href : string | undefined +> : ^^^^^^^^^^^^^^^^^^ + + }; + div: { +>div : { dir?: string; } +> : ^^^^^^^^ ^^^ + + dir?: string; +>dir : string | undefined +> : ^^^^^^^^^^^^^^^^^^ + + }; +}; + +type Component = (props: Props) => unknown; +>Component : Component +> : ^^^^^^^^^^^^^^^^ +>props : Props +> : ^^^^^ + +interface NestedMDXComponents { + [key: string]: Component; +>key : string +> : ^^^^^^ +} + +type MDXComponents = NestedMDXComponents & { +>MDXComponents : MDXComponents +> : ^^^^^^^^^^^^^ + + [Key in keyof IntrinsicElements]?: Component; +}; + +export interface MDXProps { + components?: MDXComponents; +>components : MDXComponents | undefined +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +} + +declare function MyMDXComponent(props: MDXProps): null; +>MyMDXComponent : (props: MDXProps) => null +> : ^ ^^ ^^^^^ +>props : MDXProps +> : ^^^^^^^^ + +MyMDXComponent({ +>MyMDXComponent({ components: { a(props) { return null; }, div(props) { return null; }, },}) : null +> : ^^^^ +>MyMDXComponent : (props: MDXProps) => null +> : ^ ^^ ^^^^^ +>{ components: { a(props) { return null; }, div(props) { return null; }, },} : { components: { a(props: { href?: string; }): null; div(props: { dir?: string; }): null; }; } +> : ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ + + components: { +>components : { a(props: { href?: string; }): null; div(props: { dir?: string; }): null; } +> : ^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ +>{ a(props) { return null; }, div(props) { return null; }, } : { a(props: { href?: string; }): null; div(props: { dir?: string; }): null; } +> : ^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ + + a(props) { +>a : (props: { href?: string; }) => null +> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^ +>props : { href?: string; } +> : ^^^^^^^^^ ^^^ + + return null; + }, + div(props) { +>div : (props: { dir?: string; }) => null +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^ +>props : { dir?: string; } +> : ^^^^^^^^ ^^^ + + return null; + }, + }, +}); + diff --git a/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix3.symbols b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix3.symbols new file mode 100644 index 0000000000000..39658147169d7 --- /dev/null +++ b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix3.symbols @@ -0,0 +1,85 @@ +//// [tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts] //// + +=== contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts === +type TypeMap = { +>TypeMap : Symbol(TypeMap, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 0, 0)) + + str: "a" | "b" | "c"; +>str : Symbol(str, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 0, 16)) + + num: 1 | 2 | 3; +>num : Symbol(num, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 1, 23)) + +}; + +declare function test1< +>test1 : Symbol(test1, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 3, 2)) + + T extends { [K in keyof TypeMap]: TypeMap[K][] } & { [k: string]: any[] }, +>T : Symbol(T, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 5, 23)) +>K : Symbol(K, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 6, 15)) +>TypeMap : Symbol(TypeMap, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 0, 0)) +>TypeMap : Symbol(TypeMap, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 0, 0)) +>K : Symbol(K, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 6, 15)) +>k : Symbol(k, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 6, 56)) + +>(arg: T): T; +>arg : Symbol(arg, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 7, 2)) +>T : Symbol(T, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 5, 23)) +>T : Symbol(T, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 5, 23)) + +const result = test1({ +>result : Symbol(result, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 9, 5)) +>test1 : Symbol(test1, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 3, 2)) + + num: [1, 2], +>num : Symbol(num, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 9, 22)) + + str: ["a", "b"], +>str : Symbol(str, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 10, 14)) + + bool: [true, false], +>bool : Symbol(bool, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 11, 18)) + +}); + +declare function test2(a: { type: "foo" | "bar" } & { type: any }): void; +>test2 : Symbol(test2, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 13, 3)) +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 15, 23)) +>type : Symbol(type, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 15, 27)) +>type : Symbol(type, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 15, 53)) + +test2({ type: "foo" }); +>test2 : Symbol(test2, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 13, 3)) +>type : Symbol(type, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 17, 7)) + +// https://github.com/microsoft/TypeScript/issues/59473 + +const x: { ml: any } & { ml: 'edge' } = { ml: 'edge' }; +>x : Symbol(x, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 21, 5)) +>ml : Symbol(ml, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 21, 10)) +>ml : Symbol(ml, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 21, 24)) +>ml : Symbol(ml, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 21, 41)) + +const a: [any] & [1] = [1]; +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 22, 5)) + +const b: any[] & 1[] = [1, 1]; +>b : Symbol(b, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 23, 5)) + +const c: { a: any } & { a: 1 } = { a: 1 }; +>c : Symbol(c, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 24, 5)) +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 24, 10)) +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 24, 23)) +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 24, 34)) + +const d: (() => { a: 1 }) & (() => { a: any }) = () => ({ +>d : Symbol(d, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 25, 5)) +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 25, 17)) +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 25, 36)) + + a: 1, +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts, 25, 57)) + +}); + diff --git a/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix3.types b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix3.types new file mode 100644 index 0000000000000..c5ac24db84967 --- /dev/null +++ b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix3.types @@ -0,0 +1,159 @@ +//// [tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts] //// + +=== contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts === +type TypeMap = { +>TypeMap : TypeMap +> : ^^^^^^^ + + str: "a" | "b" | "c"; +>str : "a" | "b" | "c" +> : ^^^^^^^^^^^^^^^ + + num: 1 | 2 | 3; +>num : 1 | 2 | 3 +> : ^^^^^^^^^ + +}; + +declare function test1< +>test1 : (arg: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ + + T extends { [K in keyof TypeMap]: TypeMap[K][] } & { [k: string]: any[] }, +>k : string +> : ^^^^^^ + +>(arg: T): T; +>arg : T +> : ^ + +const result = test1({ +>result : { num: (1 | 2)[]; str: ("a" | "b")[]; bool: boolean[]; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>test1({ num: [1, 2], str: ["a", "b"], bool: [true, false],}) : { num: (1 | 2)[]; str: ("a" | "b")[]; bool: boolean[]; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>test1 : (arg: T) => T +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>{ num: [1, 2], str: ["a", "b"], bool: [true, false],} : { num: (1 | 2)[]; str: ("a" | "b")[]; bool: boolean[]; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + num: [1, 2], +>num : (1 | 2)[] +> : ^^^^^^^^^ +>[1, 2] : (1 | 2)[] +> : ^^^^^^^^^ +>1 : 1 +> : ^ +>2 : 2 +> : ^ + + str: ["a", "b"], +>str : ("a" | "b")[] +> : ^^^^^^^^^^^^^ +>["a", "b"] : ("a" | "b")[] +> : ^^^^^^^^^^^^^ +>"a" : "a" +> : ^^^ +>"b" : "b" +> : ^^^ + + bool: [true, false], +>bool : boolean[] +> : ^^^^^^^^^ +>[true, false] : boolean[] +> : ^^^^^^^^^ +>true : true +> : ^^^^ +>false : false +> : ^^^^^ + +}); + +declare function test2(a: { type: "foo" | "bar" } & { type: any }): void; +>test2 : (a: { type: "foo" | "bar"; } & { type: any; }) => void +> : ^ ^^ ^^^^^ +>a : { type: "foo" | "bar"; } & { type: any; } +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ +>type : "foo" | "bar" +> : ^^^^^^^^^^^^^ +>type : any + +test2({ type: "foo" }); +>test2({ type: "foo" }) : void +> : ^^^^ +>test2 : (a: { type: "foo" | "bar"; } & { type: any; }) => void +> : ^ ^^ ^^^^^ +>{ type: "foo" } : { type: "foo"; } +> : ^^^^^^^^^^^^^^^^ +>type : "foo" +> : ^^^^^ +>"foo" : "foo" +> : ^^^^^ + +// https://github.com/microsoft/TypeScript/issues/59473 + +const x: { ml: any } & { ml: 'edge' } = { ml: 'edge' }; +>x : { ml: any; } & { ml: "edge"; } +> : ^^^^^^ ^^^^^^^^^^^^ ^^^ +>ml : any +>ml : "edge" +> : ^^^^^^ +>{ ml: 'edge' } : { ml: "edge"; } +> : ^^^^^^^^^^^^^^^ +>ml : "edge" +> : ^^^^^^ +>'edge' : "edge" +> : ^^^^^^ + +const a: [any] & [1] = [1]; +>a : [any] & [1] +> : ^^^^^^^^^^^ +>[1] : [1] +> : ^^^ +>1 : 1 +> : ^ + +const b: any[] & 1[] = [1, 1]; +>b : any[] & 1[] +> : ^^^^^^^^^^^ +>[1, 1] : 1[] +> : ^^^ +>1 : 1 +> : ^ +>1 : 1 +> : ^ + +const c: { a: any } & { a: 1 } = { a: 1 }; +>c : { a: any; } & { a: 1; } +> : ^^^^^ ^^^^^^^^^^^ ^^^ +>a : any +>a : 1 +> : ^ +>{ a: 1 } : { a: 1; } +> : ^^^^^^^^^ +>a : 1 +> : ^ +>1 : 1 +> : ^ + +const d: (() => { a: 1 }) & (() => { a: any }) = () => ({ +>d : (() => { a: 1; }) & (() => { a: any; }) +> : ^^^^^^^ ^^^^^^^^^^^ ^ +>a : 1 +> : ^ +>a : any +>() => ({ a: 1,}) : () => { a: 1; } +> : ^^^^^^^^^^^^^^^ +>({ a: 1,}) : { a: 1; } +> : ^^^^^^^^^ +>{ a: 1,} : { a: 1; } +> : ^^^^^^^^^ + + a: 1, +>a : 1 +> : ^ +>1 : 1 +> : ^ + +}); + diff --git a/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix4.errors.txt b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix4.errors.txt new file mode 100644 index 0000000000000..70a344908035e --- /dev/null +++ b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix4.errors.txt @@ -0,0 +1,61 @@ +contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts(33,12): error TS2322: Type '"bar"' is not assignable to type '"foo"'. +contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts(48,15): error TS2322: Type '"bar"' is not assignable to type '"foo"'. + + +==== contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts (2 errors) ==== + declare function test1( + arg: { a: (arg: number) => void } & { [k: string]: (arg: any) => void }, + ): unknown; + + test1({ + a: (arg) => {}, + b: (arg) => {}, + }); + + declare function test2( + arg: { a: (arg: { foo: string }) => void } & { + [k: string]: (arg: { foo: any }) => void; + }, + ): unknown; + + test2({ + a: (arg) => {}, + b: (arg) => {}, + }); + + declare function test3( + arg: { a: () => "foo" } & { + [k: string]: () => any; + }, + ): unknown; + + test3({ + a: () => "foo", + b: () => "bar", + }); + + test3({ + a: () => "bar", + ~~~~~ +!!! error TS2322: Type '"bar"' is not assignable to type '"foo"'. +!!! related TS6502 contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts:22:13: The expected type comes from the return type of this signature. + }); + + declare function test4( + arg: { a: () => { prop: "foo" } } & { + [k: string]: () => { prop: any }; + }, + ): unknown; + + test4({ + a: () => ({ prop: "foo" }), + b: () => ({ prop: "bar" }), + }); + + test4({ + a: () => ({ prop: "bar" }), + ~~~~ +!!! error TS2322: Type '"bar"' is not assignable to type '"foo"'. +!!! related TS6500 contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts:37:21: The expected type comes from property 'prop' which is declared here on type '{ prop: "foo"; }' + }); + \ No newline at end of file diff --git a/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix4.symbols b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix4.symbols new file mode 100644 index 0000000000000..0114a153b5047 --- /dev/null +++ b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix4.symbols @@ -0,0 +1,127 @@ +//// [tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts] //// + +=== contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts === +declare function test1( +>test1 : Symbol(test1, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 0, 0)) + + arg: { a: (arg: number) => void } & { [k: string]: (arg: any) => void }, +>arg : Symbol(arg, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 0, 23)) +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 1, 8)) +>arg : Symbol(arg, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 1, 13)) +>k : Symbol(k, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 1, 41)) +>arg : Symbol(arg, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 1, 54)) + +): unknown; + +test1({ +>test1 : Symbol(test1, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 0, 0)) + + a: (arg) => {}, +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 4, 7)) +>arg : Symbol(arg, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 5, 6)) + + b: (arg) => {}, +>b : Symbol(b, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 5, 17)) +>arg : Symbol(arg, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 6, 6)) + +}); + +declare function test2( +>test2 : Symbol(test2, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 7, 3)) + + arg: { a: (arg: { foo: string }) => void } & { +>arg : Symbol(arg, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 9, 23)) +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 10, 8)) +>arg : Symbol(arg, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 10, 13)) +>foo : Symbol(foo, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 10, 19)) + + [k: string]: (arg: { foo: any }) => void; +>k : Symbol(k, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 11, 5)) +>arg : Symbol(arg, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 11, 18)) +>foo : Symbol(foo, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 11, 24)) + + }, +): unknown; + +test2({ +>test2 : Symbol(test2, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 7, 3)) + + a: (arg) => {}, +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 15, 7)) +>arg : Symbol(arg, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 16, 6)) + + b: (arg) => {}, +>b : Symbol(b, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 16, 17)) +>arg : Symbol(arg, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 17, 6)) + +}); + +declare function test3( +>test3 : Symbol(test3, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 18, 3)) + + arg: { a: () => "foo" } & { +>arg : Symbol(arg, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 20, 23)) +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 21, 8)) + + [k: string]: () => any; +>k : Symbol(k, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 22, 5)) + + }, +): unknown; + +test3({ +>test3 : Symbol(test3, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 18, 3)) + + a: () => "foo", +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 26, 7)) + + b: () => "bar", +>b : Symbol(b, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 27, 17)) + +}); + +test3({ +>test3 : Symbol(test3, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 18, 3)) + + a: () => "bar", +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 31, 7)) + +}); + +declare function test4( +>test4 : Symbol(test4, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 33, 3)) + + arg: { a: () => { prop: "foo" } } & { +>arg : Symbol(arg, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 35, 23)) +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 36, 8)) +>prop : Symbol(prop, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 36, 19)) + + [k: string]: () => { prop: any }; +>k : Symbol(k, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 37, 5)) +>prop : Symbol(prop, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 37, 24)) + + }, +): unknown; + +test4({ +>test4 : Symbol(test4, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 33, 3)) + + a: () => ({ prop: "foo" }), +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 41, 7)) +>prop : Symbol(prop, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 42, 13)) + + b: () => ({ prop: "bar" }), +>b : Symbol(b, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 42, 29)) +>prop : Symbol(prop, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 43, 13)) + +}); + +test4({ +>test4 : Symbol(test4, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 33, 3)) + + a: () => ({ prop: "bar" }), +>a : Symbol(a, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 46, 7)) +>prop : Symbol(prop, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts, 47, 13)) + +}); + diff --git a/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix4.types b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix4.types new file mode 100644 index 0000000000000..8900e319846d9 --- /dev/null +++ b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix4.types @@ -0,0 +1,242 @@ +//// [tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts] //// + +=== contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts === +declare function test1( +>test1 : (arg: { a: (arg: number) => void; } & { [k: string]: (arg: any) => void; }) => unknown +> : ^ ^^ ^^^^^ + + arg: { a: (arg: number) => void } & { [k: string]: (arg: any) => void }, +>arg : { a: (arg: number) => void; } & { [k: string]: (arg: any) => void; } +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ +>a : (arg: number) => void +> : ^ ^^ ^^^^^ +>arg : number +> : ^^^^^^ +>k : string +> : ^^^^^^ +>arg : any +> : ^^^ + +): unknown; + +test1({ +>test1({ a: (arg) => {}, b: (arg) => {},}) : unknown +> : ^^^^^^^ +>test1 : (arg: { a: (arg: number) => void; } & { [k: string]: (arg: any) => void; }) => unknown +> : ^ ^^ ^^^^^ +>{ a: (arg) => {}, b: (arg) => {},} : { a: (arg: number) => void; b: (arg: any) => void; } +> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ + + a: (arg) => {}, +>a : (arg: number) => void +> : ^ ^^^^^^^^^^^^^^^^^ +>(arg) => {} : (arg: number) => void +> : ^ ^^^^^^^^^^^^^^^^^ +>arg : number +> : ^^^^^^ + + b: (arg) => {}, +>b : (arg: any) => void +> : ^ ^^^^^^^^^^^^^^ +>(arg) => {} : (arg: any) => void +> : ^ ^^^^^^^^^^^^^^ +>arg : any +> : ^^^ + +}); + +declare function test2( +>test2 : (arg: { a: (arg: { foo: string; }) => void; } & { [k: string]: (arg: { foo: any; }) => void; }) => unknown +> : ^ ^^ ^^^^^ + + arg: { a: (arg: { foo: string }) => void } & { +>arg : { a: (arg: { foo: string; }) => void; } & { [k: string]: (arg: { foo: any; }) => void; } +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^ +>a : (arg: { foo: string; }) => void +> : ^ ^^ ^^^^^ +>arg : { foo: string; } +> : ^^^^^^^ ^^^ +>foo : string +> : ^^^^^^ + + [k: string]: (arg: { foo: any }) => void; +>k : string +> : ^^^^^^ +>arg : { foo: any; } +> : ^^^^^^^ ^^^ +>foo : any +> : ^^^ + + }, +): unknown; + +test2({ +>test2({ a: (arg) => {}, b: (arg) => {},}) : unknown +> : ^^^^^^^ +>test2 : (arg: { a: (arg: { foo: string; }) => void; } & { [k: string]: (arg: { foo: any; }) => void; }) => unknown +> : ^ ^^ ^^^^^ +>{ a: (arg) => {}, b: (arg) => {},} : { a: (arg: { foo: string; }) => void; b: (arg: { foo: any; }) => void; } +> : ^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^ + + a: (arg) => {}, +>a : (arg: { foo: string; }) => void +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ +>(arg) => {} : (arg: { foo: string; }) => void +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ +>arg : { foo: string; } +> : ^^^^^^^ ^^^ + + b: (arg) => {}, +>b : (arg: { foo: any; }) => void +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ +>(arg) => {} : (arg: { foo: any; }) => void +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^ +>arg : { foo: any; } +> : ^^^^^^^ ^^^ + +}); + +declare function test3( +>test3 : (arg: { a: () => "foo"; } & { [k: string]: () => any; }) => unknown +> : ^ ^^ ^^^^^ + + arg: { a: () => "foo" } & { +>arg : { a: () => "foo"; } & { [k: string]: () => any; } +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>a : () => "foo" +> : ^^^^^^ + + [k: string]: () => any; +>k : string +> : ^^^^^^ + + }, +): unknown; + +test3({ +>test3({ a: () => "foo", b: () => "bar",}) : unknown +> : ^^^^^^^ +>test3 : (arg: { a: () => "foo"; } & { [k: string]: () => any; }) => unknown +> : ^ ^^ ^^^^^ +>{ a: () => "foo", b: () => "bar",} : { a: () => "foo"; b: () => string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + a: () => "foo", +>a : () => "foo" +> : ^^^^^^^^^^^ +>() => "foo" : () => "foo" +> : ^^^^^^^^^^^ +>"foo" : "foo" +> : ^^^^^ + + b: () => "bar", +>b : () => string +> : ^^^^^^^^^^^^ +>() => "bar" : () => string +> : ^^^^^^^^^^^^ +>"bar" : "bar" +> : ^^^^^ + +}); + +test3({ +>test3({ a: () => "bar",}) : unknown +> : ^^^^^^^ +>test3 : (arg: { a: () => "foo"; } & { [k: string]: () => any; }) => unknown +> : ^ ^^ ^^^^^ +>{ a: () => "bar",} : { a: () => "bar"; } +> : ^^^^^^^^^^^^^^^^^^^ + + a: () => "bar", +>a : () => "bar" +> : ^^^^^^^^^^^ +>() => "bar" : () => "bar" +> : ^^^^^^^^^^^ +>"bar" : "bar" +> : ^^^^^ + +}); + +declare function test4( +>test4 : (arg: { a: () => { prop: "foo"; }; } & { [k: string]: () => { prop: any; }; }) => unknown +> : ^ ^^ ^^^^^ + + arg: { a: () => { prop: "foo" } } & { +>arg : { a: () => { prop: "foo"; }; } & { [k: string]: () => { prop: any; }; } +> : ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>a : () => { prop: "foo"; } +> : ^^^^^^ +>prop : "foo" +> : ^^^^^ + + [k: string]: () => { prop: any }; +>k : string +> : ^^^^^^ +>prop : any +> : ^^^ + + }, +): unknown; + +test4({ +>test4({ a: () => ({ prop: "foo" }), b: () => ({ prop: "bar" }),}) : unknown +> : ^^^^^^^ +>test4 : (arg: { a: () => { prop: "foo"; }; } & { [k: string]: () => { prop: any; }; }) => unknown +> : ^ ^^ ^^^^^ +>{ a: () => ({ prop: "foo" }), b: () => ({ prop: "bar" }),} : { a: () => { prop: "foo"; }; b: () => { prop: string; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + a: () => ({ prop: "foo" }), +>a : () => { prop: "foo"; } +> : ^^^^^^^^^^^^^^^^^^^^^^ +>() => ({ prop: "foo" }) : () => { prop: "foo"; } +> : ^^^^^^^^^^^^^^^^^^^^^^ +>({ prop: "foo" }) : { prop: "foo"; } +> : ^^^^^^^^^^^^^^^^ +>{ prop: "foo" } : { prop: "foo"; } +> : ^^^^^^^^^^^^^^^^ +>prop : "foo" +> : ^^^^^ +>"foo" : "foo" +> : ^^^^^ + + b: () => ({ prop: "bar" }), +>b : () => { prop: string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>() => ({ prop: "bar" }) : () => { prop: string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>({ prop: "bar" }) : { prop: string; } +> : ^^^^^^^^^^^^^^^^^ +>{ prop: "bar" } : { prop: string; } +> : ^^^^^^^^^^^^^^^^^ +>prop : string +> : ^^^^^^ +>"bar" : "bar" +> : ^^^^^ + +}); + +test4({ +>test4({ a: () => ({ prop: "bar" }),}) : unknown +> : ^^^^^^^ +>test4 : (arg: { a: () => { prop: "foo"; }; } & { [k: string]: () => { prop: any; }; }) => unknown +> : ^ ^^ ^^^^^ +>{ a: () => ({ prop: "bar" }),} : { a: () => { prop: "bar"; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + a: () => ({ prop: "bar" }), +>a : () => { prop: "bar"; } +> : ^^^^^^^^^^^^^^^^^^^^^^ +>() => ({ prop: "bar" }) : () => { prop: "bar"; } +> : ^^^^^^^^^^^^^^^^^^^^^^ +>({ prop: "bar" }) : { prop: "bar"; } +> : ^^^^^^^^^^^^^^^^ +>{ prop: "bar" } : { prop: "bar"; } +> : ^^^^^^^^^^^^^^^^ +>prop : "bar" +> : ^^^^^ +>"bar" : "bar" +> : ^^^^^ + +}); + diff --git a/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix5.symbols b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix5.symbols new file mode 100644 index 0000000000000..aa654c54653c8 --- /dev/null +++ b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix5.symbols @@ -0,0 +1,167 @@ +//// [tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts] //// + +=== contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts === +type ComputedGetter = (oldValue?: T) => T; +>ComputedGetter : Symbol(ComputedGetter, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 0, 0)) +>T : Symbol(T, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 0, 20)) +>oldValue : Symbol(oldValue, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 0, 26)) +>T : Symbol(T, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 0, 20)) +>T : Symbol(T, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 0, 20)) + +type ComputedOptions = Record>; +>ComputedOptions : Symbol(ComputedOptions, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 0, 45)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) +>ComputedGetter : Symbol(ComputedGetter, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 0, 0)) + +type ExtractComputedReturns = { +>ExtractComputedReturns : Symbol(ExtractComputedReturns, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 1, 59)) +>T : Symbol(T, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 3, 28)) + + [key in keyof T]: T[key] extends (...args: any[]) => infer TReturn +>key : Symbol(key, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 4, 3)) +>T : Symbol(T, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 3, 28)) +>T : Symbol(T, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 3, 28)) +>key : Symbol(key, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 4, 3)) +>args : Symbol(args, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 4, 36)) +>TReturn : Symbol(TReturn, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 4, 60)) + + ? TReturn +>TReturn : Symbol(TReturn, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 4, 60)) + + : never; +}; + +interface ComponentOptionsBase { +>ComponentOptionsBase : Symbol(ComponentOptionsBase, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 7, 2)) +>D : Symbol(D, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 9, 31)) +>C : Symbol(C, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 9, 33)) +>ComputedOptions : Symbol(ComputedOptions, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 0, 45)) + + data?: D; +>data : Symbol(ComponentOptionsBase.data, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 9, 62)) +>D : Symbol(D, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 9, 31)) + + computed?: C; +>computed : Symbol(ComponentOptionsBase.computed, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 10, 11)) +>C : Symbol(C, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 9, 33)) +} + +type ComponentPublicInstance = D & +>ComponentPublicInstance : Symbol(ComponentPublicInstance, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 12, 1)) +>D : Symbol(D, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 14, 29)) +>C : Symbol(C, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 14, 36)) +>ComputedOptions : Symbol(ComputedOptions, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 0, 45)) +>D : Symbol(D, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 14, 29)) + + ExtractComputedReturns; +>ExtractComputedReturns : Symbol(ExtractComputedReturns, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 1, 59)) +>C : Symbol(C, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 14, 36)) + +type ComponentOptions< +>ComponentOptions : Symbol(ComponentOptions, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 15, 28)) + + D = any, +>D : Symbol(D, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 17, 22)) + + C extends ComputedOptions = any, +>C : Symbol(C, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 18, 10)) +>ComputedOptions : Symbol(ComputedOptions, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 0, 45)) + +> = ComponentOptionsBase & ThisType>; +>ComponentOptionsBase : Symbol(ComponentOptionsBase, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 7, 2)) +>D : Symbol(D, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 17, 22)) +>C : Symbol(C, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 18, 10)) +>ThisType : Symbol(ThisType, Decl(lib.es5.d.ts, --, --)) +>ComponentPublicInstance : Symbol(ComponentPublicInstance, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 12, 1)) +>D : Symbol(D, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 17, 22)) +>C : Symbol(C, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 18, 10)) + +interface App { +>App : Symbol(App, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 20, 73)) + + mixin(mixin: ComponentOptions): this; +>mixin : Symbol(App.mixin, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 22, 15)) +>mixin : Symbol(mixin, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 23, 8)) +>ComponentOptions : Symbol(ComponentOptions, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 15, 28)) +} + +interface InjectionKey extends Symbol {} +>InjectionKey : Symbol(InjectionKey, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 24, 1)) +>T : Symbol(T, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 26, 23)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --)) + +interface Ref { +>Ref : Symbol(Ref, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 26, 43)) +>T : Symbol(T, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 28, 14)) + + _v: T; +>_v : Symbol(Ref._v, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 28, 18)) +>T : Symbol(T, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 28, 14)) +} + +declare function reactive(target: T): Ref; +>reactive : Symbol(reactive, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 30, 1)) +>T : Symbol(T, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 32, 26)) +>target : Symbol(target, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 32, 44)) +>T : Symbol(T, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 32, 26)) +>Ref : Symbol(Ref, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 26, 43)) +>T : Symbol(T, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 32, 26)) + +interface ThemeInstance { +>ThemeInstance : Symbol(ThemeInstance, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 32, 63)) + + readonly name: Readonly>; +>name : Symbol(ThemeInstance.name, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 34, 25)) +>Readonly : Symbol(Readonly, Decl(lib.es5.d.ts, --, --)) +>Ref : Symbol(Ref, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 26, 43)) +} + +declare const ThemeSymbol: InjectionKey; +>ThemeSymbol : Symbol(ThemeSymbol, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 38, 13)) +>InjectionKey : Symbol(InjectionKey, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 24, 1)) +>ThemeInstance : Symbol(ThemeInstance, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 32, 63)) + +declare function inject( +>inject : Symbol(inject, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 38, 55)) + + this: ComponentPublicInstance, +>this : Symbol(this, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 40, 24)) +>ComponentPublicInstance : Symbol(ComponentPublicInstance, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 12, 1)) + + key: InjectionKey | string, +>key : Symbol(key, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 41, 32)) +>InjectionKey : Symbol(InjectionKey, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 24, 1)) + +): any; + +declare const app: App; +>app : Symbol(app, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 45, 13)) +>App : Symbol(App, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 20, 73)) + +app.mixin({ +>app.mixin : Symbol(App.mixin, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 22, 15)) +>app : Symbol(app, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 45, 13)) +>mixin : Symbol(App.mixin, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 22, 15)) + + computed: { +>computed : Symbol(computed, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 46, 11)) + + $vuetify() { +>$vuetify : Symbol($vuetify, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 47, 13)) + + // this is meant to be `any` here + return reactive({ +>reactive : Symbol(reactive, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 30, 1)) + + theme: inject.call(this, ThemeSymbol), +>theme : Symbol(theme, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 50, 23)) +>inject.call : Symbol(CallableFunction.call, Decl(lib.es5.d.ts, --, --)) +>inject : Symbol(inject, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 38, 55)) +>call : Symbol(CallableFunction.call, Decl(lib.es5.d.ts, --, --)) +>ThemeSymbol : Symbol(ThemeSymbol, Decl(contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts, 38, 13)) + + }); + }, + }, +}); + diff --git a/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix5.types b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix5.types new file mode 100644 index 0000000000000..6ba5347f0336f --- /dev/null +++ b/tests/baselines/reference/contextualTypeBasedOnIntersectionWithAnyInTheMix5.types @@ -0,0 +1,148 @@ +//// [tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts] //// + +=== contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts === +type ComputedGetter = (oldValue?: T) => T; +>ComputedGetter : ComputedGetter +> : ^^^^^^^^^^^^^^^^^ +>oldValue : T | undefined +> : ^^^^^^^^^^^^^ + +type ComputedOptions = Record>; +>ComputedOptions : ComputedOptions +> : ^^^^^^^^^^^^^^^ + +type ExtractComputedReturns = { +>ExtractComputedReturns : ExtractComputedReturns +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ + + [key in keyof T]: T[key] extends (...args: any[]) => infer TReturn +>args : any[] +> : ^^^^^ + + ? TReturn + : never; +}; + +interface ComponentOptionsBase { + data?: D; +>data : D | undefined +> : ^^^^^^^^^^^^^ + + computed?: C; +>computed : C | undefined +> : ^^^^^^^^^^^^^ +} + +type ComponentPublicInstance = D & +>ComponentPublicInstance : ComponentPublicInstance +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + ExtractComputedReturns; + +type ComponentOptions< +>ComponentOptions : ComponentOptions +> : ^^^^^^^^^^^^^^^^^^^^^^ + + D = any, + C extends ComputedOptions = any, +> = ComponentOptionsBase & ThisType>; + +interface App { + mixin(mixin: ComponentOptions): this; +>mixin : (mixin: ComponentOptions) => this +> : ^ ^^ ^^^^^ +>mixin : ComponentOptions +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +} + +interface InjectionKey extends Symbol {} + +interface Ref { + _v: T; +>_v : T +> : ^ +} + +declare function reactive(target: T): Ref; +>reactive : (target: T) => Ref +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>target : T +> : ^ + +interface ThemeInstance { + readonly name: Readonly>; +>name : Readonly> +> : ^^^^^^^^^^^^^^^^^^^^^ +} + +declare const ThemeSymbol: InjectionKey; +>ThemeSymbol : InjectionKey +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +declare function inject( +>inject : (this: ComponentPublicInstance, key: InjectionKey | string) => any +> : ^ ^^ ^^ ^^ ^^^^^ + + this: ComponentPublicInstance, +>this : ExtractComputedReturns<{}> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ + + key: InjectionKey | string, +>key : string | InjectionKey +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ + +): any; + +declare const app: App; +>app : App +> : ^^^ + +app.mixin({ +>app.mixin({ computed: { $vuetify() { // this is meant to be `any` here return reactive({ theme: inject.call(this, ThemeSymbol), }); }, },}) : App +> : ^^^ +>app.mixin : (mixin: ComponentOptions) => App +> : ^ ^^ ^^^^^^^^ +>app : App +> : ^^^ +>mixin : (mixin: ComponentOptions) => App +> : ^ ^^ ^^^^^^^^ +>{ computed: { $vuetify() { // this is meant to be `any` here return reactive({ theme: inject.call(this, ThemeSymbol), }); }, },} : { computed: { $vuetify(): Ref<{ theme: any; }>; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + computed: { +>computed : { $vuetify(): Ref<{ theme: any; }>; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ $vuetify() { // this is meant to be `any` here return reactive({ theme: inject.call(this, ThemeSymbol), }); }, } : { $vuetify(): Ref<{ theme: any; }>; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + $vuetify() { +>$vuetify : () => Ref<{ theme: any; }> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ + + // this is meant to be `any` here + return reactive({ +>reactive({ theme: inject.call(this, ThemeSymbol), }) : Ref<{ theme: any; }> +> : ^^^^^^^^^^^^^^^^^^^^ +>reactive : (target: T) => Ref +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>{ theme: inject.call(this, ThemeSymbol), } : { theme: any; } +> : ^^^^^^^^^^^^^^^ + + theme: inject.call(this, ThemeSymbol), +>theme : any +>inject.call(this, ThemeSymbol) : any +>inject.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ +>inject : (this: ComponentPublicInstance, key: InjectionKey | string) => any +> : ^ ^^ ^^ ^^ ^^^^^ +>call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ +>this : any +>ThemeSymbol : InjectionKey +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + }); + }, + }, +}); + diff --git a/tests/baselines/reference/contextualTypeFunctionObjectPropertyIntersection.errors.txt b/tests/baselines/reference/contextualTypeFunctionObjectPropertyIntersection.errors.txt new file mode 100644 index 0000000000000..c6927b2005ad0 --- /dev/null +++ b/tests/baselines/reference/contextualTypeFunctionObjectPropertyIntersection.errors.txt @@ -0,0 +1,155 @@ +contextualTypeFunctionObjectPropertyIntersection.ts(84,5): error TS2353: Object literal may only specify known properties, and 'bar' does not exist in type '{ FOO?: Action<{ type: "FOO"; }> | undefined; } & { "*"?: Action<{ type: "FOO"; } | { type: "bar"; }> | undefined; }'. +contextualTypeFunctionObjectPropertyIntersection.ts(84,11): error TS7006: Parameter 'ev' implicitly has an 'any' type. + + +==== contextualTypeFunctionObjectPropertyIntersection.ts (2 errors) ==== + // repro from #48812 + + type Action = (ev: TEvent) => void; + + interface MachineConfig { + schema: { + events: TEvent; + }; + on?: { + [K in TEvent["type"]]?: Action; + } & { + "*"?: Action; + }; + } + + declare function createMachine( + config: MachineConfig + ): void; + + createMachine({ + schema: { + events: {} as { type: "FOO" } | { type: "BAR" }, + }, + on: { + FOO: (ev) => { + ev.type; // should be 'FOO' + }, + }, + }); + + createMachine({ + schema: { + events: {} as { type: "FOO" } | { type: "BAR" }, + }, + on: { + "*": (ev) => { + ev.type; // should be 'FOO' | 'BAR' + }, + }, + }); + + interface MachineConfig2 { + schema: { + events: TEvent; + }; + on?: { + [K in TEvent["type"] as K extends Uppercase ? K : never]?: Action; + } & { + "*"?: Action; + }; + } + + declare function createMachine2( + config: MachineConfig2 + ): void; + + createMachine2({ + schema: { + events: {} as { type: "FOO" } | { type: "bar" }, + }, + on: { + FOO: (ev) => { + ev.type; // should be 'FOO' + }, + }, + }); + + createMachine2({ + schema: { + events: {} as { type: "FOO" } | { type: "bar" }, + }, + on: { + "*": (ev) => { + ev.type; // should be 'FOO' | 'bar' + }, + }, + }); + + createMachine2({ + schema: { + events: {} as { type: "FOO" } | { type: "bar" }, + }, + on: { + bar: (ev) => { + ~~~ +!!! error TS2353: Object literal may only specify known properties, and 'bar' does not exist in type '{ FOO?: Action<{ type: "FOO"; }> | undefined; } & { "*"?: Action<{ type: "FOO"; } | { type: "bar"; }> | undefined; }'. +!!! related TS6500 contextualTypeFunctionObjectPropertyIntersection.ts:46:3: The expected type comes from property 'on' which is declared here on type 'MachineConfig2<{ type: "FOO"; } | { type: "bar"; }>' + ~~ +!!! error TS7006: Parameter 'ev' implicitly has an 'any' type. + ev // any + }, + }, + }); + + // repro from #49307#issuecomment-1143103607 + + declare function createSlice( + reducers: { [K: string]: (state: string) => void } & { + [K in keyof T]: object; + } + ): void; + + createSlice({ + f(a) {}, + }); + + // repro from #49307#issuecomment-1196014488 + + type Validate = T & { [K in keyof T]: object } + declare function f any>>(s: S, x: Validate): void; + + f(0, { + foo: s => s + 1, + }) + + // repro from 49307#issuecomment-1195858950 + + type SliceCaseReducers = Record State | void>; + + type ValidateSliceCaseReducers> = ACR & { + [T in keyof ACR]: ACR[T] extends { + reducer(s: S, action?: infer A): any; + } + ? { + prepare(...a: never[]): Omit; + } + : {}; + }; + + declare function createSlice< + State, + CaseReducers extends SliceCaseReducers + >(options: { + initialState: State | (() => State); + reducers: ValidateSliceCaseReducers; + }): void; + + export const clientSlice = createSlice({ + initialState: { + username: "", + isLoggedIn: false, + userId: "", + avatar: "", + }, + reducers: { + onClientUserChanged(state) {}, + }, + }); + + \ No newline at end of file diff --git a/tests/baselines/reference/contextualTypeFunctionObjectPropertyIntersection.symbols b/tests/baselines/reference/contextualTypeFunctionObjectPropertyIntersection.symbols new file mode 100644 index 0000000000000..1a681fad41bf7 --- /dev/null +++ b/tests/baselines/reference/contextualTypeFunctionObjectPropertyIntersection.symbols @@ -0,0 +1,402 @@ +//// [tests/cases/compiler/contextualTypeFunctionObjectPropertyIntersection.ts] //// + +=== contextualTypeFunctionObjectPropertyIntersection.ts === +// repro from #48812 + +type Action = (ev: TEvent) => void; +>Action : Symbol(Action, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 0, 0)) +>TEvent : Symbol(TEvent, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 2, 12)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 2, 28)) +>ev : Symbol(ev, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 2, 48)) +>TEvent : Symbol(TEvent, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 2, 12)) + +interface MachineConfig { +>MachineConfig : Symbol(MachineConfig, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 2, 68)) +>TEvent : Symbol(TEvent, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 4, 24)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 4, 40)) + + schema: { +>schema : Symbol(MachineConfig.schema, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 4, 58)) + + events: TEvent; +>events : Symbol(events, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 5, 11)) +>TEvent : Symbol(TEvent, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 4, 24)) + + }; + on?: { +>on : Symbol(MachineConfig.on, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 7, 4)) + + [K in TEvent["type"]]?: Action; +>K : Symbol(K, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 9, 5)) +>TEvent : Symbol(TEvent, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 4, 24)) +>Action : Symbol(Action, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 0, 0)) +>TEvent : Symbol(TEvent, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 4, 24)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 9, 51)) +>K : Symbol(K, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 9, 5)) +>TEvent : Symbol(TEvent, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 4, 24)) + + } & { + "*"?: Action; +>"*" : Symbol("*", Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 10, 7)) +>Action : Symbol(Action, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 0, 0)) +>TEvent : Symbol(TEvent, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 4, 24)) + + }; +} + +declare function createMachine( +>createMachine : Symbol(createMachine, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 13, 1)) +>TEvent : Symbol(TEvent, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 15, 31)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 15, 47)) + + config: MachineConfig +>config : Symbol(config, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 15, 64)) +>MachineConfig : Symbol(MachineConfig, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 2, 68)) +>TEvent : Symbol(TEvent, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 15, 31)) + +): void; + +createMachine({ +>createMachine : Symbol(createMachine, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 13, 1)) + + schema: { +>schema : Symbol(schema, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 19, 15)) + + events: {} as { type: "FOO" } | { type: "BAR" }, +>events : Symbol(events, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 20, 11)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 21, 19)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 21, 37)) + + }, + on: { +>on : Symbol(on, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 22, 4)) + + FOO: (ev) => { +>FOO : Symbol(FOO, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 23, 7)) +>ev : Symbol(ev, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 24, 10)) + + ev.type; // should be 'FOO' +>ev.type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 21, 19)) +>ev : Symbol(ev, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 24, 10)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 21, 19)) + + }, + }, +}); + +createMachine({ +>createMachine : Symbol(createMachine, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 13, 1)) + + schema: { +>schema : Symbol(schema, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 30, 15)) + + events: {} as { type: "FOO" } | { type: "BAR" }, +>events : Symbol(events, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 31, 11)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 32, 19)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 32, 37)) + + }, + on: { +>on : Symbol(on, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 33, 4)) + + "*": (ev) => { +>"*" : Symbol("*", Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 34, 7)) +>ev : Symbol(ev, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 35, 10)) + + ev.type; // should be 'FOO' | 'BAR' +>ev.type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 32, 19), Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 32, 37)) +>ev : Symbol(ev, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 35, 10)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 32, 19), Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 32, 37)) + + }, + }, +}); + +interface MachineConfig2 { +>MachineConfig2 : Symbol(MachineConfig2, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 39, 3)) +>TEvent : Symbol(TEvent, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 41, 25)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 41, 41)) + + schema: { +>schema : Symbol(MachineConfig2.schema, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 41, 59)) + + events: TEvent; +>events : Symbol(events, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 42, 11)) +>TEvent : Symbol(TEvent, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 41, 25)) + + }; + on?: { +>on : Symbol(MachineConfig2.on, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 44, 4)) + + [K in TEvent["type"] as K extends Uppercase ? K : never]?: Action; +>K : Symbol(K, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 46, 5)) +>TEvent : Symbol(TEvent, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 41, 25)) +>K : Symbol(K, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 46, 5)) +>Uppercase : Symbol(Uppercase, Decl(lib.es5.d.ts, --, --)) +>K : Symbol(K, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 46, 5)) +>Action : Symbol(Action, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 0, 0)) +>TEvent : Symbol(TEvent, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 41, 25)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 46, 94)) +>K : Symbol(K, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 46, 5)) +>TEvent : Symbol(TEvent, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 41, 25)) + + } & { + "*"?: Action; +>"*" : Symbol("*", Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 47, 7)) +>Action : Symbol(Action, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 0, 0)) +>TEvent : Symbol(TEvent, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 41, 25)) + + }; +} + +declare function createMachine2( +>createMachine2 : Symbol(createMachine2, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 50, 1)) +>TEvent : Symbol(TEvent, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 52, 32)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 52, 48)) + + config: MachineConfig2 +>config : Symbol(config, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 52, 65)) +>MachineConfig2 : Symbol(MachineConfig2, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 39, 3)) +>TEvent : Symbol(TEvent, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 52, 32)) + +): void; + +createMachine2({ +>createMachine2 : Symbol(createMachine2, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 50, 1)) + + schema: { +>schema : Symbol(schema, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 56, 16)) + + events: {} as { type: "FOO" } | { type: "bar" }, +>events : Symbol(events, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 57, 11)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 58, 19)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 58, 37)) + + }, + on: { +>on : Symbol(on, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 59, 4)) + + FOO: (ev) => { +>FOO : Symbol(FOO, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 60, 7)) +>ev : Symbol(ev, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 61, 10)) + + ev.type; // should be 'FOO' +>ev.type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 58, 19)) +>ev : Symbol(ev, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 61, 10)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 58, 19)) + + }, + }, +}); + +createMachine2({ +>createMachine2 : Symbol(createMachine2, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 50, 1)) + + schema: { +>schema : Symbol(schema, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 67, 16)) + + events: {} as { type: "FOO" } | { type: "bar" }, +>events : Symbol(events, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 68, 11)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 69, 19)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 69, 37)) + + }, + on: { +>on : Symbol(on, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 70, 4)) + + "*": (ev) => { +>"*" : Symbol("*", Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 71, 7)) +>ev : Symbol(ev, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 72, 10)) + + ev.type; // should be 'FOO' | 'bar' +>ev.type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 69, 19), Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 69, 37)) +>ev : Symbol(ev, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 72, 10)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 69, 19), Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 69, 37)) + + }, + }, +}); + +createMachine2({ +>createMachine2 : Symbol(createMachine2, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 50, 1)) + + schema: { +>schema : Symbol(schema, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 78, 16)) + + events: {} as { type: "FOO" } | { type: "bar" }, +>events : Symbol(events, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 79, 11)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 80, 19)) +>type : Symbol(type, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 80, 37)) + + }, + on: { +>on : Symbol(on, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 81, 4)) + + bar: (ev) => { +>bar : Symbol(bar, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 82, 7)) +>ev : Symbol(ev, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 83, 10)) + + ev // any +>ev : Symbol(ev, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 83, 10)) + + }, + }, +}); + +// repro from #49307#issuecomment-1143103607 + +declare function createSlice( +>createSlice : Symbol(createSlice, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 87, 3), Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 122, 2)) +>T : Symbol(T, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 91, 29)) + + reducers: { [K: string]: (state: string) => void } & { +>reducers : Symbol(reducers, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 91, 32)) +>K : Symbol(K, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 92, 15)) +>state : Symbol(state, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 92, 28)) + + [K in keyof T]: object; +>K : Symbol(K, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 93, 5)) +>T : Symbol(T, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 91, 29)) + } +): void; + +createSlice({ +>createSlice : Symbol(createSlice, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 87, 3), Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 122, 2)) + + f(a) {}, +>f : Symbol(f, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 97, 13)) +>a : Symbol(a, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 98, 4)) + +}); + +// repro from #49307#issuecomment-1196014488 + +type Validate = T & { [K in keyof T]: object } +>Validate : Symbol(Validate, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 99, 3)) +>T : Symbol(T, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 103, 14)) +>T : Symbol(T, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 103, 14)) +>K : Symbol(K, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 103, 26)) +>T : Symbol(T, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 103, 14)) + +declare function f any>>(s: S, x: Validate): void; +>f : Symbol(f, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 103, 49)) +>S : Symbol(S, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 104, 19)) +>T : Symbol(T, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 104, 21)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) +>state : Symbol(state, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 104, 48)) +>S : Symbol(S, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 104, 19)) +>s : Symbol(s, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 104, 67)) +>S : Symbol(S, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 104, 19)) +>x : Symbol(x, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 104, 72)) +>Validate : Symbol(Validate, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 99, 3)) +>T : Symbol(T, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 104, 21)) + +f(0, { +>f : Symbol(f, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 103, 49)) + + foo: s => s + 1, +>foo : Symbol(foo, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 106, 6)) +>s : Symbol(s, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 107, 6)) +>s : Symbol(s, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 107, 6)) + +}) + +// repro from 49307#issuecomment-1195858950 + +type SliceCaseReducers = Record State | void>; +>SliceCaseReducers : Symbol(SliceCaseReducers, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 108, 2)) +>State : Symbol(State, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 112, 23)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) +>state : Symbol(state, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 112, 48)) +>State : Symbol(State, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 112, 23)) +>State : Symbol(State, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 112, 23)) + +type ValidateSliceCaseReducers> = ACR & { +>ValidateSliceCaseReducers : Symbol(ValidateSliceCaseReducers, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 112, 79)) +>S : Symbol(S, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 114, 31)) +>ACR : Symbol(ACR, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 114, 33)) +>SliceCaseReducers : Symbol(SliceCaseReducers, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 108, 2)) +>S : Symbol(S, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 114, 31)) +>ACR : Symbol(ACR, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 114, 33)) + + [T in keyof ACR]: ACR[T] extends { +>T : Symbol(T, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 115, 3)) +>ACR : Symbol(ACR, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 114, 33)) +>ACR : Symbol(ACR, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 114, 33)) +>T : Symbol(T, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 115, 3)) + + reducer(s: S, action?: infer A): any; +>reducer : Symbol(reducer, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 115, 36)) +>s : Symbol(s, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 116, 12)) +>S : Symbol(S, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 114, 31)) +>action : Symbol(action, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 116, 17)) +>A : Symbol(A, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 116, 32)) + } + ? { + prepare(...a: never[]): Omit; +>prepare : Symbol(prepare, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 118, 7)) +>a : Symbol(a, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 119, 16)) +>Omit : Symbol(Omit, Decl(lib.es5.d.ts, --, --)) +>A : Symbol(A, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 116, 32)) + } + : {}; +}; + +declare function createSlice< +>createSlice : Symbol(createSlice, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 87, 3), Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 122, 2)) + + State, +>State : Symbol(State, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 124, 29)) + + CaseReducers extends SliceCaseReducers +>CaseReducers : Symbol(CaseReducers, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 125, 8)) +>SliceCaseReducers : Symbol(SliceCaseReducers, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 108, 2)) +>State : Symbol(State, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 124, 29)) + +>(options: { +>options : Symbol(options, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 127, 2)) + + initialState: State | (() => State); +>initialState : Symbol(initialState, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 127, 12)) +>State : Symbol(State, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 124, 29)) +>State : Symbol(State, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 124, 29)) + + reducers: ValidateSliceCaseReducers; +>reducers : Symbol(reducers, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 128, 38)) +>ValidateSliceCaseReducers : Symbol(ValidateSliceCaseReducers, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 112, 79)) +>State : Symbol(State, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 124, 29)) +>CaseReducers : Symbol(CaseReducers, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 125, 8)) + +}): void; + +export const clientSlice = createSlice({ +>clientSlice : Symbol(clientSlice, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 132, 12)) +>createSlice : Symbol(createSlice, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 87, 3), Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 122, 2)) + + initialState: { +>initialState : Symbol(initialState, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 132, 40)) + + username: "", +>username : Symbol(username, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 133, 17)) + + isLoggedIn: false, +>isLoggedIn : Symbol(isLoggedIn, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 134, 17)) + + userId: "", +>userId : Symbol(userId, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 135, 22)) + + avatar: "", +>avatar : Symbol(avatar, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 136, 15)) + + }, + reducers: { +>reducers : Symbol(reducers, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 138, 4)) + + onClientUserChanged(state) {}, +>onClientUserChanged : Symbol(onClientUserChanged, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 139, 13)) +>state : Symbol(state, Decl(contextualTypeFunctionObjectPropertyIntersection.ts, 140, 24)) + + }, +}); + + diff --git a/tests/baselines/reference/contextualTypeFunctionObjectPropertyIntersection.types b/tests/baselines/reference/contextualTypeFunctionObjectPropertyIntersection.types new file mode 100644 index 0000000000000..02d0173439a01 --- /dev/null +++ b/tests/baselines/reference/contextualTypeFunctionObjectPropertyIntersection.types @@ -0,0 +1,540 @@ +//// [tests/cases/compiler/contextualTypeFunctionObjectPropertyIntersection.ts] //// + +=== contextualTypeFunctionObjectPropertyIntersection.ts === +// repro from #48812 + +type Action = (ev: TEvent) => void; +>Action : Action +> : ^^^^^^^^^^^^^^ +>type : string +> : ^^^^^^ +>ev : TEvent +> : ^^^^^^ + +interface MachineConfig { +>type : string +> : ^^^^^^ + + schema: { +>schema : { events: TEvent; } +> : ^^^^^^^^^^ ^^^ + + events: TEvent; +>events : TEvent +> : ^^^^^^ + + }; + on?: { +>on : ({ [K in TEvent["type"]]?: Action | undefined; } & { "*"?: Action; }) | undefined +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ + + [K in TEvent["type"]]?: Action; +>type : K +> : ^ + + } & { + "*"?: Action; +>"*" : Action | undefined +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ + + }; +} + +declare function createMachine( +>createMachine : (config: MachineConfig) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>type : string +> : ^^^^^^ + + config: MachineConfig +>config : MachineConfig +> : ^^^^^^^^^^^^^^^^^^^^^ + +): void; + +createMachine({ +>createMachine({ schema: { events: {} as { type: "FOO" } | { type: "BAR" }, }, on: { FOO: (ev) => { ev.type; // should be 'FOO' }, },}) : void +> : ^^^^ +>createMachine : (config: MachineConfig) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>{ schema: { events: {} as { type: "FOO" } | { type: "BAR" }, }, on: { FOO: (ev) => { ev.type; // should be 'FOO' }, },} : { schema: { events: { type: "FOO"; } | { type: "BAR"; }; }; on: { FOO: (ev: { type: "FOO"; }) => void; }; } +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ + + schema: { +>schema : { events: { type: "FOO"; } | { type: "BAR"; }; } +> : ^^^^^^^^^^ ^^^ +>{ events: {} as { type: "FOO" } | { type: "BAR" }, } : { events: { type: "FOO"; } | { type: "BAR"; }; } +> : ^^^^^^^^^^ ^^^ + + events: {} as { type: "FOO" } | { type: "BAR" }, +>events : { type: "FOO"; } | { type: "BAR"; } +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ +>{} as { type: "FOO" } | { type: "BAR" } : { type: "FOO"; } | { type: "BAR"; } +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ +>{} : {} +> : ^^ +>type : "FOO" +> : ^^^^^ +>type : "BAR" +> : ^^^^^ + + }, + on: { +>on : { FOO: (ev: { type: "FOO"; }) => void; } +> : ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ +>{ FOO: (ev) => { ev.type; // should be 'FOO' }, } : { FOO: (ev: { type: "FOO"; }) => void; } +> : ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ + + FOO: (ev) => { +>FOO : (ev: { type: "FOO"; }) => void +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^ +>(ev) => { ev.type; // should be 'FOO' } : (ev: { type: "FOO"; }) => void +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^ +>ev : { type: "FOO"; } +> : ^^^^^^^^ ^^^ + + ev.type; // should be 'FOO' +>ev.type : "FOO" +> : ^^^^^ +>ev : { type: "FOO"; } +> : ^^^^^^^^ ^^^ +>type : "FOO" +> : ^^^^^ + + }, + }, +}); + +createMachine({ +>createMachine({ schema: { events: {} as { type: "FOO" } | { type: "BAR" }, }, on: { "*": (ev) => { ev.type; // should be 'FOO' | 'BAR' }, },}) : void +> : ^^^^ +>createMachine : (config: MachineConfig) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>{ schema: { events: {} as { type: "FOO" } | { type: "BAR" }, }, on: { "*": (ev) => { ev.type; // should be 'FOO' | 'BAR' }, },} : { schema: { events: { type: "FOO"; } | { type: "BAR"; }; }; on: { "*": (ev: { type: "FOO"; } | { type: "BAR"; }) => void; }; } +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ + + schema: { +>schema : { events: { type: "FOO"; } | { type: "BAR"; }; } +> : ^^^^^^^^^^ ^^^ +>{ events: {} as { type: "FOO" } | { type: "BAR" }, } : { events: { type: "FOO"; } | { type: "BAR"; }; } +> : ^^^^^^^^^^ ^^^ + + events: {} as { type: "FOO" } | { type: "BAR" }, +>events : { type: "FOO"; } | { type: "BAR"; } +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ +>{} as { type: "FOO" } | { type: "BAR" } : { type: "FOO"; } | { type: "BAR"; } +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ +>{} : {} +> : ^^ +>type : "FOO" +> : ^^^^^ +>type : "BAR" +> : ^^^^^ + + }, + on: { +>on : { "*": (ev: { type: "FOO"; } | { type: "BAR"; }) => void; } +> : ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +>{ "*": (ev) => { ev.type; // should be 'FOO' | 'BAR' }, } : { "*": (ev: { type: "FOO"; } | { type: "BAR"; }) => void; } +> : ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ + + "*": (ev) => { +>"*" : (ev: { type: "FOO"; } | { type: "BAR"; }) => void +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +>(ev) => { ev.type; // should be 'FOO' | 'BAR' } : (ev: { type: "FOO"; } | { type: "BAR"; }) => void +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +>ev : { type: "FOO"; } | { type: "BAR"; } +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ + + ev.type; // should be 'FOO' | 'BAR' +>ev.type : "FOO" | "BAR" +> : ^^^^^^^^^^^^^ +>ev : { type: "FOO"; } | { type: "BAR"; } +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ +>type : "FOO" | "BAR" +> : ^^^^^^^^^^^^^ + + }, + }, +}); + +interface MachineConfig2 { +>type : string +> : ^^^^^^ + + schema: { +>schema : { events: TEvent; } +> : ^^^^^^^^^^ ^^^ + + events: TEvent; +>events : TEvent +> : ^^^^^^ + + }; + on?: { +>on : ({ [K in TEvent["type"] as K extends Uppercase ? K : never]?: Action | undefined; } & { "*"?: Action; }) | undefined +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ + + [K in TEvent["type"] as K extends Uppercase ? K : never]?: Action; +>type : K +> : ^ + + } & { + "*"?: Action; +>"*" : Action | undefined +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ + + }; +} + +declare function createMachine2( +>createMachine2 : (config: MachineConfig2) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>type : string +> : ^^^^^^ + + config: MachineConfig2 +>config : MachineConfig2 +> : ^^^^^^^^^^^^^^^^^^^^^^ + +): void; + +createMachine2({ +>createMachine2({ schema: { events: {} as { type: "FOO" } | { type: "bar" }, }, on: { FOO: (ev) => { ev.type; // should be 'FOO' }, },}) : void +> : ^^^^ +>createMachine2 : (config: MachineConfig2) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>{ schema: { events: {} as { type: "FOO" } | { type: "bar" }, }, on: { FOO: (ev) => { ev.type; // should be 'FOO' }, },} : { schema: { events: { type: "FOO"; } | { type: "bar"; }; }; on: { FOO: (ev: { type: "FOO"; }) => void; }; } +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ + + schema: { +>schema : { events: { type: "FOO"; } | { type: "bar"; }; } +> : ^^^^^^^^^^ ^^^ +>{ events: {} as { type: "FOO" } | { type: "bar" }, } : { events: { type: "FOO"; } | { type: "bar"; }; } +> : ^^^^^^^^^^ ^^^ + + events: {} as { type: "FOO" } | { type: "bar" }, +>events : { type: "FOO"; } | { type: "bar"; } +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ +>{} as { type: "FOO" } | { type: "bar" } : { type: "FOO"; } | { type: "bar"; } +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ +>{} : {} +> : ^^ +>type : "FOO" +> : ^^^^^ +>type : "bar" +> : ^^^^^ + + }, + on: { +>on : { FOO: (ev: { type: "FOO"; }) => void; } +> : ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ +>{ FOO: (ev) => { ev.type; // should be 'FOO' }, } : { FOO: (ev: { type: "FOO"; }) => void; } +> : ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^ + + FOO: (ev) => { +>FOO : (ev: { type: "FOO"; }) => void +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^ +>(ev) => { ev.type; // should be 'FOO' } : (ev: { type: "FOO"; }) => void +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^ +>ev : { type: "FOO"; } +> : ^^^^^^^^ ^^^ + + ev.type; // should be 'FOO' +>ev.type : "FOO" +> : ^^^^^ +>ev : { type: "FOO"; } +> : ^^^^^^^^ ^^^ +>type : "FOO" +> : ^^^^^ + + }, + }, +}); + +createMachine2({ +>createMachine2({ schema: { events: {} as { type: "FOO" } | { type: "bar" }, }, on: { "*": (ev) => { ev.type; // should be 'FOO' | 'bar' }, },}) : void +> : ^^^^ +>createMachine2 : (config: MachineConfig2) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>{ schema: { events: {} as { type: "FOO" } | { type: "bar" }, }, on: { "*": (ev) => { ev.type; // should be 'FOO' | 'bar' }, },} : { schema: { events: { type: "FOO"; } | { type: "bar"; }; }; on: { "*": (ev: { type: "FOO"; } | { type: "bar"; }) => void; }; } +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ + + schema: { +>schema : { events: { type: "FOO"; } | { type: "bar"; }; } +> : ^^^^^^^^^^ ^^^ +>{ events: {} as { type: "FOO" } | { type: "bar" }, } : { events: { type: "FOO"; } | { type: "bar"; }; } +> : ^^^^^^^^^^ ^^^ + + events: {} as { type: "FOO" } | { type: "bar" }, +>events : { type: "FOO"; } | { type: "bar"; } +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ +>{} as { type: "FOO" } | { type: "bar" } : { type: "FOO"; } | { type: "bar"; } +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ +>{} : {} +> : ^^ +>type : "FOO" +> : ^^^^^ +>type : "bar" +> : ^^^^^ + + }, + on: { +>on : { "*": (ev: { type: "FOO"; } | { type: "bar"; }) => void; } +> : ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +>{ "*": (ev) => { ev.type; // should be 'FOO' | 'bar' }, } : { "*": (ev: { type: "FOO"; } | { type: "bar"; }) => void; } +> : ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ + + "*": (ev) => { +>"*" : (ev: { type: "FOO"; } | { type: "bar"; }) => void +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +>(ev) => { ev.type; // should be 'FOO' | 'bar' } : (ev: { type: "FOO"; } | { type: "bar"; }) => void +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +>ev : { type: "FOO"; } | { type: "bar"; } +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ + + ev.type; // should be 'FOO' | 'bar' +>ev.type : "FOO" | "bar" +> : ^^^^^^^^^^^^^ +>ev : { type: "FOO"; } | { type: "bar"; } +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ +>type : "FOO" | "bar" +> : ^^^^^^^^^^^^^ + + }, + }, +}); + +createMachine2({ +>createMachine2({ schema: { events: {} as { type: "FOO" } | { type: "bar" }, }, on: { bar: (ev) => { ev // any }, },}) : void +> : ^^^^ +>createMachine2 : (config: MachineConfig2) => void +> : ^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>{ schema: { events: {} as { type: "FOO" } | { type: "bar" }, }, on: { bar: (ev) => { ev // any }, },} : { schema: { events: { type: "FOO"; } | { type: "bar"; }; }; on: { bar: (ev: any) => void; }; } +> : ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ + + schema: { +>schema : { events: { type: "FOO"; } | { type: "bar"; }; } +> : ^^^^^^^^^^ ^^^ +>{ events: {} as { type: "FOO" } | { type: "bar" }, } : { events: { type: "FOO"; } | { type: "bar"; }; } +> : ^^^^^^^^^^ ^^^ + + events: {} as { type: "FOO" } | { type: "bar" }, +>events : { type: "FOO"; } | { type: "bar"; } +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ +>{} as { type: "FOO" } | { type: "bar" } : { type: "FOO"; } | { type: "bar"; } +> : ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^ +>{} : {} +> : ^^ +>type : "FOO" +> : ^^^^^ +>type : "bar" +> : ^^^^^ + + }, + on: { +>on : { bar: (ev: any) => void; } +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^ +>{ bar: (ev) => { ev // any }, } : { bar: (ev: any) => void; } +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^ + + bar: (ev) => { +>bar : (ev: any) => void +> : ^ ^^^^^^^^^^^^^^ +>(ev) => { ev // any } : (ev: any) => void +> : ^ ^^^^^^^^^^^^^^ +>ev : any +> : ^^^ + + ev // any +>ev : any +> : ^^^ + + }, + }, +}); + +// repro from #49307#issuecomment-1143103607 + +declare function createSlice( +>createSlice : { (reducers: { [K: string]: (state: string) => void; } & { [K in keyof T]: object; }): void; >(options: { initialState: State | (() => State); reducers: ValidateSliceCaseReducers; }): void; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ + + reducers: { [K: string]: (state: string) => void } & { +>reducers : { [K: string]: (state: string) => void; } & { [K in keyof T]: object; } +> : ^^^^^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ +>K : string +> : ^^^^^^ +>state : string +> : ^^^^^^ + + [K in keyof T]: object; + } +): void; + +createSlice({ +>createSlice({ f(a) {},}) : void +> : ^^^^ +>createSlice : { (reducers: { [K: string]: (state: string) => void; } & { [K in keyof T]: object; }): void; >(options: { initialState: State | (() => State); reducers: ValidateSliceCaseReducers; }): void; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>{ f(a) {},} : { f(a: string): void; } +> : ^^^^ ^^^^^^^^^^^^^^^^^^ + + f(a) {}, +>f : (a: string) => void +> : ^ ^^^^^^^^^^^^^^^^^ +>a : string +> : ^^^^^^ + +}); + +// repro from #49307#issuecomment-1196014488 + +type Validate = T & { [K in keyof T]: object } +>Validate : Validate +> : ^^^^^^^^^^^ + +declare function f any>>(s: S, x: Validate): void; +>f : any>>(s: S, x: Validate) => void +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>state : S +> : ^ +>s : S +> : ^ +>x : Validate +> : ^^^^^^^^^^^ + +f(0, { +>f(0, { foo: s => s + 1,}) : void +> : ^^^^ +>f : any>>(s: S, x: Validate) => void +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>0 : 0 +> : ^ +>{ foo: s => s + 1,} : { foo: (s: number) => number; } +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ + + foo: s => s + 1, +>foo : (s: number) => number +> : ^ ^^^^^^^^^^^^^^^^^^^ +>s => s + 1 : (s: number) => number +> : ^ ^^^^^^^^^^^^^^^^^^^ +>s : number +> : ^^^^^^ +>s + 1 : number +> : ^^^^^^ +>s : number +> : ^^^^^^ +>1 : 1 +> : ^ + +}) + +// repro from 49307#issuecomment-1195858950 + +type SliceCaseReducers = Record State | void>; +>SliceCaseReducers : SliceCaseReducers +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>state : State +> : ^^^^^ + +type ValidateSliceCaseReducers> = ACR & { +>ValidateSliceCaseReducers : ValidateSliceCaseReducers +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + [T in keyof ACR]: ACR[T] extends { + reducer(s: S, action?: infer A): any; +>reducer : (s: S, action?: infer A) => any +> : ^ ^^ ^^ ^^^ ^^^^^ +>s : S +> : ^ +>action : A | undefined +> : ^^^^^^^^^^^^^ + } + ? { + prepare(...a: never[]): Omit; +>prepare : (...a: never[]) => Omit +> : ^^^^ ^^ ^^^^^ +>a : never[] +> : ^^^^^^^ + } + : {}; +}; + +declare function createSlice< +>createSlice : { (reducers: { [K: string]: (state: string) => void; } & { [K in keyof T]: object; }): void; >(options: { initialState: State | (() => State); reducers: ValidateSliceCaseReducers; }): void; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ + + State, + CaseReducers extends SliceCaseReducers +>(options: { +>options : { initialState: State | (() => State); reducers: ValidateSliceCaseReducers; } +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^ + + initialState: State | (() => State); +>initialState : State | (() => State) +> : ^^^^^^^^^^^^^^^ ^ + + reducers: ValidateSliceCaseReducers; +>reducers : ValidateSliceCaseReducers +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +}): void; + +export const clientSlice = createSlice({ +>clientSlice : void +> : ^^^^ +>createSlice({ initialState: { username: "", isLoggedIn: false, userId: "", avatar: "", }, reducers: { onClientUserChanged(state) {}, },}) : void +> : ^^^^ +>createSlice : { (reducers: { [K: string]: (state: string) => void; } & { [K in keyof T]: object; }): void; >(options: { initialState: State | (() => State); reducers: ValidateSliceCaseReducers; }): void; } +> : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^ +>{ initialState: { username: "", isLoggedIn: false, userId: "", avatar: "", }, reducers: { onClientUserChanged(state) {}, },} : { initialState: { username: string; isLoggedIn: false; userId: string; avatar: string; }; reducers: { onClientUserChanged(state: { username: string; isLoggedIn: boolean; userId: string; avatar: string; }): void; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + initialState: { +>initialState : { username: string; isLoggedIn: false; userId: string; avatar: string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ username: "", isLoggedIn: false, userId: "", avatar: "", } : { username: string; isLoggedIn: false; userId: string; avatar: string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + username: "", +>username : string +> : ^^^^^^ +>"" : "" +> : ^^ + + isLoggedIn: false, +>isLoggedIn : false +> : ^^^^^ +>false : false +> : ^^^^^ + + userId: "", +>userId : string +> : ^^^^^^ +>"" : "" +> : ^^ + + avatar: "", +>avatar : string +> : ^^^^^^ +>"" : "" +> : ^^ + + }, + reducers: { +>reducers : { onClientUserChanged(state: { username: string; isLoggedIn: boolean; userId: string; avatar: string; }): void; } +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ onClientUserChanged(state) {}, } : { onClientUserChanged(state: { username: string; isLoggedIn: boolean; userId: string; avatar: string; }): void; } +> : ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + onClientUserChanged(state) {}, +>onClientUserChanged : (state: { username: string; isLoggedIn: boolean; userId: string; avatar: string; }) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>state : { username: string; isLoggedIn: boolean; userId: string; avatar: string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + }, +}); + + diff --git a/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.symbols b/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.symbols new file mode 100644 index 0000000000000..8f282ef5ad271 --- /dev/null +++ b/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.symbols @@ -0,0 +1,117 @@ +//// [tests/cases/compiler/contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts] //// + +=== contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts === +type IntrinsicElements = { +>IntrinsicElements : Symbol(IntrinsicElements, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 0, 0)) + + div: { +>div : Symbol(div, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 0, 26)) + + onChange: (ev: Event) => void; +>onChange : Symbol(onChange, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 1, 8)) +>ev : Symbol(ev, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 2, 15)) +>Event : Symbol(Event, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) + + }; + span: { +>span : Symbol(span, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 3, 4)) + + onChange: (ev: Event) => void; +>onChange : Symbol(onChange, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 4, 9)) +>ev : Symbol(ev, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 5, 15)) +>Event : Symbol(Event, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) + + }; +}; + +type ElementType = keyof IntrinsicElements; +>ElementType : Symbol(ElementType, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 7, 2)) +>IntrinsicElements : Symbol(IntrinsicElements, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 0, 0)) + +let DEFAULT_TABS_TAG = "div" as const; +>DEFAULT_TABS_TAG : Symbol(DEFAULT_TABS_TAG, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 11, 3)) +>const : Symbol(const) + +type Props = Omit< +>Props : Symbol(Props, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 11, 38)) +>TTag : Symbol(TTag, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 13, 11)) +>ElementType : Symbol(ElementType, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 7, 2)) +>Overrides : Symbol(Overrides, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 13, 36)) +>Omit : Symbol(Omit, Decl(lib.es5.d.ts, --, --)) + + IntrinsicElements[TTag], +>IntrinsicElements : Symbol(IntrinsicElements, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 0, 0)) +>TTag : Symbol(TTag, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 13, 11)) + + keyof Overrides +>Overrides : Symbol(Overrides, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 13, 36)) + +> & + Overrides; +>Overrides : Symbol(Overrides, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 13, 36)) + +type TabGroupProps = Props< +>TabGroupProps : Symbol(TabGroupProps, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 17, 12)) +>TTag : Symbol(TTag, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 19, 19)) +>ElementType : Symbol(ElementType, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 7, 2)) +>DEFAULT_TABS_TAG : Symbol(DEFAULT_TABS_TAG, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 11, 3)) +>Props : Symbol(Props, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 11, 38)) + + TTag, +>TTag : Symbol(TTag, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 19, 19)) + { + defaultIndex?: number; +>defaultIndex : Symbol(defaultIndex, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 21, 3)) + + onChange?: (index: number) => void; +>onChange : Symbol(onChange, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 22, 26)) +>index : Symbol(index, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 23, 16)) + + selectedIndex?: number; +>selectedIndex : Symbol(selectedIndex, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 23, 39)) + + vertical?: boolean; +>vertical : Symbol(vertical, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 24, 27)) + + manual?: boolean; +>manual : Symbol(manual, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 25, 23)) + } +>; + +interface _internal_ComponentTabGroup { +>_internal_ComponentTabGroup : Symbol(_internal_ComponentTabGroup, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 28, 2)) + + ( +>TTag : Symbol(TTag, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 31, 3)) +>ElementType : Symbol(ElementType, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 7, 2)) +>DEFAULT_TABS_TAG : Symbol(DEFAULT_TABS_TAG, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 11, 3)) + + props: TabGroupProps, +>props : Symbol(props, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 31, 55)) +>TabGroupProps : Symbol(TabGroupProps, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 17, 12)) +>TTag : Symbol(TTag, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 31, 3)) + + ): null; +} + +declare let TabGroup: _internal_ComponentTabGroup; +>TabGroup : Symbol(TabGroup, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 36, 11)) +>_internal_ComponentTabGroup : Symbol(_internal_ComponentTabGroup, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 28, 2)) + +TabGroup({ +>TabGroup : Symbol(TabGroup, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 36, 11)) + + defaultIndex: 0, +>defaultIndex : Symbol(defaultIndex, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 38, 10)) + + onChange: (index) => { +>onChange : Symbol(onChange, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 39, 18)) +>index : Symbol(index, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 40, 13)) + + const i: number = index; +>i : Symbol(i, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 41, 9)) +>index : Symbol(index, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts, 40, 13)) + + }, +}); + diff --git a/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.types b/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.types new file mode 100644 index 0000000000000..4b214b1a19519 --- /dev/null +++ b/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.types @@ -0,0 +1,131 @@ +//// [tests/cases/compiler/contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts] //// + +=== contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts === +type IntrinsicElements = { +>IntrinsicElements : IntrinsicElements +> : ^^^^^^^^^^^^^^^^^ + + div: { +>div : { onChange: (ev: Event) => void; } +> : ^^^^^^^^^^^^ ^^^ + + onChange: (ev: Event) => void; +>onChange : (ev: Event) => void +> : ^ ^^ ^^^^^ +>ev : Event +> : ^^^^^ + + }; + span: { +>span : { onChange: (ev: Event) => void; } +> : ^^^^^^^^^^^^ ^^^ + + onChange: (ev: Event) => void; +>onChange : (ev: Event) => void +> : ^ ^^ ^^^^^ +>ev : Event +> : ^^^^^ + + }; +}; + +type ElementType = keyof IntrinsicElements; +>ElementType : keyof IntrinsicElements +> : ^^^^^^^^^^^^^^^^^^^^^^^ + +let DEFAULT_TABS_TAG = "div" as const; +>DEFAULT_TABS_TAG : "div" +> : ^^^^^ +>"div" as const : "div" +> : ^^^^^ +>"div" : "div" +> : ^^^^^ + +type Props = Omit< +>Props : Props +> : ^^^^^^^^^^^^^^^^^^^^^^ + + IntrinsicElements[TTag], + keyof Overrides +> & + Overrides; + +type TabGroupProps = Props< +>TabGroupProps : TabGroupProps +> : ^^^^^^^^^^^^^^^^^^^ +>DEFAULT_TABS_TAG : "div" +> : ^^^^^ + + TTag, + { + defaultIndex?: number; +>defaultIndex : number | undefined +> : ^^^^^^^^^^^^^^^^^^ + + onChange?: (index: number) => void; +>onChange : ((index: number) => void) | undefined +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ +>index : number +> : ^^^^^^ + + selectedIndex?: number; +>selectedIndex : number | undefined +> : ^^^^^^^^^^^^^^^^^^ + + vertical?: boolean; +>vertical : boolean | undefined +> : ^^^^^^^^^^^^^^^^^^^ + + manual?: boolean; +>manual : boolean | undefined +> : ^^^^^^^^^^^^^^^^^^^ + } +>; + +interface _internal_ComponentTabGroup { + ( +>DEFAULT_TABS_TAG : "div" +> : ^^^^^ + + props: TabGroupProps, +>props : TabGroupProps +> : ^^^^^^^^^^^^^^^^^^^ + + ): null; +} + +declare let TabGroup: _internal_ComponentTabGroup; +>TabGroup : _internal_ComponentTabGroup +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +TabGroup({ +>TabGroup({ defaultIndex: 0, onChange: (index) => { const i: number = index; },}) : null +> : ^^^^ +>TabGroup : _internal_ComponentTabGroup +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ defaultIndex: 0, onChange: (index) => { const i: number = index; },} : { defaultIndex: number; onChange: (index: number) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ + + defaultIndex: 0, +>defaultIndex : number +> : ^^^^^^ +>0 : 0 +> : ^ + + onChange: (index) => { +>onChange : (index: number) => void +> : ^ ^^^^^^^^^^^^^^^^^ +>(index) => { const i: number = index; } : (index: number) => void +> : ^ ^^^^^^^^^^^^^^^^^ +>index : number +> : ^^^^^^ + + const i: number = index; +>i : number +> : ^^^^^^ +>index : number +> : ^^^^^^ + + }, +}); + diff --git a/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.errors.txt b/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.errors.txt new file mode 100644 index 0000000000000..4313cb5df1d02 --- /dev/null +++ b/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.errors.txt @@ -0,0 +1,35 @@ +contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts(24,3): error TS2322: Type '(_: any) => string' is not assignable to type 'never'. +contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts(24,7): error TS7006: Parameter '_' implicitly has an 'any' type. + + +==== contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts (2 errors) ==== + type Tags = P extends Record ? X : never; + + declare const typeTags: () => < + P extends { + readonly [Tag in Tags<"_tag", I> & string]: ( + _: Extract, + ) => any; + } & { readonly [Tag in Exclude>]: never }, + >( + fields: P, + ) => unknown; + + type Value = { _tag: "A"; a: number } | { _tag: "B"; b: number }; + const matcher = typeTags(); + + matcher({ + A: (_) => _.a, + B: (_) => "fail", + }); + + matcher({ + A: (_) => _.a, + B: (_) => "fail", + C: (_) => "fail", + ~ +!!! error TS2322: Type '(_: any) => string' is not assignable to type 'never'. + ~ +!!! error TS7006: Parameter '_' implicitly has an 'any' type. + }); + \ No newline at end of file diff --git a/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.symbols b/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.symbols new file mode 100644 index 0000000000000..c175ed578a05a --- /dev/null +++ b/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.symbols @@ -0,0 +1,95 @@ +//// [tests/cases/compiler/contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts] //// + +=== contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts === +type Tags = P extends Record ? X : never; +>Tags : Symbol(Tags, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 0, 0)) +>D : Symbol(D, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 0, 10)) +>P : Symbol(P, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 0, 27)) +>P : Symbol(P, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 0, 27)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) +>D : Symbol(D, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 0, 10)) +>X : Symbol(X, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 0, 58)) +>X : Symbol(X, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 0, 58)) + +declare const typeTags: () => < +>typeTags : Symbol(typeTags, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 2, 13)) +>I : Symbol(I, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 2, 25)) + + P extends { +>P : Symbol(P, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 2, 34)) + + readonly [Tag in Tags<"_tag", I> & string]: ( +>Tag : Symbol(Tag, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 4, 14)) +>Tags : Symbol(Tags, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 0, 0)) +>I : Symbol(I, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 2, 25)) + + _: Extract, +>_ : Symbol(_, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 4, 49)) +>Extract : Symbol(Extract, Decl(lib.es5.d.ts, --, --)) +>I : Symbol(I, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 2, 25)) +>_tag : Symbol(_tag, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 5, 21)) +>Tag : Symbol(Tag, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 4, 14)) + + ) => any; + } & { readonly [Tag in Exclude>]: never }, +>Tag : Symbol(Tag, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 7, 18)) +>Exclude : Symbol(Exclude, Decl(lib.es5.d.ts, --, --)) +>P : Symbol(P, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 2, 34)) +>Tags : Symbol(Tags, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 0, 0)) +>I : Symbol(I, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 2, 25)) + +>( + fields: P, +>fields : Symbol(fields, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 8, 2)) +>P : Symbol(P, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 2, 34)) + +) => unknown; + +type Value = { _tag: "A"; a: number } | { _tag: "B"; b: number }; +>Value : Symbol(Value, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 10, 13)) +>_tag : Symbol(_tag, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 12, 14)) +>a : Symbol(a, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 12, 25)) +>_tag : Symbol(_tag, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 12, 41)) +>b : Symbol(b, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 12, 52)) + +const matcher = typeTags(); +>matcher : Symbol(matcher, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 13, 5)) +>typeTags : Symbol(typeTags, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 2, 13)) +>Value : Symbol(Value, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 10, 13)) + +matcher({ +>matcher : Symbol(matcher, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 13, 5)) + + A: (_) => _.a, +>A : Symbol(A, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 15, 9)) +>_ : Symbol(_, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 16, 6)) +>_.a : Symbol(a, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 12, 25)) +>_ : Symbol(_, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 16, 6)) +>a : Symbol(a, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 12, 25)) + + B: (_) => "fail", +>B : Symbol(B, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 16, 16)) +>_ : Symbol(_, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 17, 6)) + +}); + +matcher({ +>matcher : Symbol(matcher, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 13, 5)) + + A: (_) => _.a, +>A : Symbol(A, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 20, 9)) +>_ : Symbol(_, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 21, 6)) +>_.a : Symbol(a, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 12, 25)) +>_ : Symbol(_, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 21, 6)) +>a : Symbol(a, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 12, 25)) + + B: (_) => "fail", +>B : Symbol(B, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 21, 16)) +>_ : Symbol(_, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 22, 6)) + + C: (_) => "fail", +>C : Symbol(C, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 22, 19)) +>_ : Symbol(_, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts, 23, 6)) + +}); + diff --git a/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.types b/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.types new file mode 100644 index 0000000000000..26b6c8f492ad7 --- /dev/null +++ b/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.types @@ -0,0 +1,126 @@ +//// [tests/cases/compiler/contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts] //// + +=== contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts === +type Tags = P extends Record ? X : never; +>Tags : Tags +> : ^^^^^^^^^^ + +declare const typeTags: () => < +>typeTags : () =>

& string]: (_: Extract) => any; } & { readonly [Tag in Exclude>]: never; }>(fields: P) => unknown +> : ^ ^^^^^^^ + + P extends { + readonly [Tag in Tags<"_tag", I> & string]: ( + _: Extract, +>_ : Extract +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ +>_tag : Tag +> : ^^^ + + ) => any; + } & { readonly [Tag in Exclude>]: never }, +>( + fields: P, +>fields : P +> : ^ + +) => unknown; + +type Value = { _tag: "A"; a: number } | { _tag: "B"; b: number }; +>Value : Value +> : ^^^^^ +>_tag : "A" +> : ^^^ +>a : number +> : ^^^^^^ +>_tag : "B" +> : ^^^ +>b : number +> : ^^^^^^ + +const matcher = typeTags(); +>matcher :

any; readonly B: (_: { _tag: "B"; b: number; }) => any; } & { readonly [Tag in Exclude]: never; }>(fields: P) => unknown +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ +>typeTags() :

any; readonly B: (_: { _tag: "B"; b: number; }) => any; } & { readonly [Tag in Exclude]: never; }>(fields: P) => unknown +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ +>typeTags : () =>

& string]: (_: Extract) => any; } & { readonly [Tag in Exclude>]: never; }>(fields: P) => unknown +> : ^ ^^^^^^^ + +matcher({ +>matcher({ A: (_) => _.a, B: (_) => "fail",}) : unknown +> : ^^^^^^^ +>matcher :

any; readonly B: (_: { _tag: "B"; b: number; }) => any; } & { readonly [Tag in Exclude]: never; }>(fields: P) => unknown +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ +>{ A: (_) => _.a, B: (_) => "fail",} : { A: (_: { _tag: "A"; a: number; }) => number; B: (_: { _tag: "B"; b: number; }) => string; } +> : ^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^ + + A: (_) => _.a, +>A : (_: { _tag: "A"; a: number; }) => number +> : ^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +>(_) => _.a : (_: { _tag: "A"; a: number; }) => number +> : ^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +>_ : { _tag: "A"; a: number; } +> : ^^^^^^^^ ^^^^^ ^^^ +>_.a : number +> : ^^^^^^ +>_ : { _tag: "A"; a: number; } +> : ^^^^^^^^ ^^^^^ ^^^ +>a : number +> : ^^^^^^ + + B: (_) => "fail", +>B : (_: { _tag: "B"; b: number; }) => string +> : ^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +>(_) => "fail" : (_: { _tag: "B"; b: number; }) => string +> : ^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +>_ : { _tag: "B"; b: number; } +> : ^^^^^^^^ ^^^^^ ^^^ +>"fail" : "fail" +> : ^^^^^^ + +}); + +matcher({ +>matcher({ A: (_) => _.a, B: (_) => "fail", C: (_) => "fail",}) : unknown +> : ^^^^^^^ +>matcher :

any; readonly B: (_: { _tag: "B"; b: number; }) => any; } & { readonly [Tag in Exclude]: never; }>(fields: P) => unknown +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ +>{ A: (_) => _.a, B: (_) => "fail", C: (_) => "fail",} : { A: (_: { _tag: "A"; a: number; }) => number; B: (_: { _tag: "B"; b: number; }) => string; C: (_: any) => string; } +> : ^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ + + A: (_) => _.a, +>A : (_: { _tag: "A"; a: number; }) => number +> : ^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +>(_) => _.a : (_: { _tag: "A"; a: number; }) => number +> : ^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +>_ : { _tag: "A"; a: number; } +> : ^^^^^^^^ ^^^^^ ^^^ +>_.a : number +> : ^^^^^^ +>_ : { _tag: "A"; a: number; } +> : ^^^^^^^^ ^^^^^ ^^^ +>a : number +> : ^^^^^^ + + B: (_) => "fail", +>B : (_: { _tag: "B"; b: number; }) => string +> : ^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +>(_) => "fail" : (_: { _tag: "B"; b: number; }) => string +> : ^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ +>_ : { _tag: "B"; b: number; } +> : ^^^^^^^^ ^^^^^ ^^^ +>"fail" : "fail" +> : ^^^^^^ + + C: (_) => "fail", +>C : (_: any) => string +> : ^ ^^^^^^^^^^^^^^^^ +>(_) => "fail" : (_: any) => string +> : ^ ^^^^^^^^^^^^^^^^ +>_ : any +> : ^^^ +>"fail" : "fail" +> : ^^^^^^ + +}); + diff --git a/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.symbols b/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.symbols new file mode 100644 index 0000000000000..ba631da07b54d --- /dev/null +++ b/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.symbols @@ -0,0 +1,129 @@ +//// [tests/cases/compiler/contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts] //// + +=== contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts === +type MappedOmit = { [P in keyof T as Exclude]: T[P]; } +>MappedOmit : Symbol(MappedOmit, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 0, 0)) +>T : Symbol(T, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 0, 16)) +>K : Symbol(K, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 0, 18)) +>P : Symbol(P, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 0, 45)) +>T : Symbol(T, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 0, 16)) +>Exclude : Symbol(Exclude, Decl(lib.es5.d.ts, --, --)) +>P : Symbol(P, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 0, 45)) +>K : Symbol(K, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 0, 18)) +>T : Symbol(T, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 0, 16)) +>P : Symbol(P, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 0, 45)) + +type IntrinsicElements = { +>IntrinsicElements : Symbol(IntrinsicElements, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 0, 84)) + + div: { +>div : Symbol(div, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 2, 26)) + + onChange: (ev: Event) => void; +>onChange : Symbol(onChange, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 3, 8)) +>ev : Symbol(ev, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 4, 15)) +>Event : Symbol(Event, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) + + }; + span: { +>span : Symbol(span, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 5, 4)) + + onChange: (ev: Event) => void; +>onChange : Symbol(onChange, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 6, 9)) +>ev : Symbol(ev, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 7, 15)) +>Event : Symbol(Event, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) + + }; +}; + +type ElementType = keyof IntrinsicElements; +>ElementType : Symbol(ElementType, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 9, 2)) +>IntrinsicElements : Symbol(IntrinsicElements, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 0, 84)) + +let DEFAULT_TABS_TAG = "div" as const; +>DEFAULT_TABS_TAG : Symbol(DEFAULT_TABS_TAG, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 13, 3)) +>const : Symbol(const) + +type Props = MappedOmit< +>Props : Symbol(Props, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 13, 38)) +>TTag : Symbol(TTag, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 15, 11)) +>ElementType : Symbol(ElementType, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 9, 2)) +>Overrides : Symbol(Overrides, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 15, 36)) +>MappedOmit : Symbol(MappedOmit, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 0, 0)) + + IntrinsicElements[TTag], +>IntrinsicElements : Symbol(IntrinsicElements, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 0, 84)) +>TTag : Symbol(TTag, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 15, 11)) + + keyof Overrides +>Overrides : Symbol(Overrides, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 15, 36)) + +> & + Overrides; +>Overrides : Symbol(Overrides, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 15, 36)) + +type TabGroupProps = Props< +>TabGroupProps : Symbol(TabGroupProps, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 19, 12)) +>TTag : Symbol(TTag, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 21, 19)) +>ElementType : Symbol(ElementType, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 9, 2)) +>DEFAULT_TABS_TAG : Symbol(DEFAULT_TABS_TAG, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 13, 3)) +>Props : Symbol(Props, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 13, 38)) + + TTag, +>TTag : Symbol(TTag, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 21, 19)) + { + defaultIndex?: number; +>defaultIndex : Symbol(defaultIndex, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 23, 3)) + + onChange?: (index: number) => void; +>onChange : Symbol(onChange, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 24, 26)) +>index : Symbol(index, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 25, 16)) + + selectedIndex?: number; +>selectedIndex : Symbol(selectedIndex, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 25, 39)) + + vertical?: boolean; +>vertical : Symbol(vertical, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 26, 27)) + + manual?: boolean; +>manual : Symbol(manual, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 27, 23)) + } +>; + +interface _internal_ComponentTabGroup { +>_internal_ComponentTabGroup : Symbol(_internal_ComponentTabGroup, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 30, 2)) + + ( +>TTag : Symbol(TTag, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 33, 3)) +>ElementType : Symbol(ElementType, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 9, 2)) +>DEFAULT_TABS_TAG : Symbol(DEFAULT_TABS_TAG, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 13, 3)) + + props: TabGroupProps, +>props : Symbol(props, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 33, 55)) +>TabGroupProps : Symbol(TabGroupProps, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 19, 12)) +>TTag : Symbol(TTag, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 33, 3)) + + ): null; +} + +declare let TabGroup: _internal_ComponentTabGroup; +>TabGroup : Symbol(TabGroup, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 38, 11)) +>_internal_ComponentTabGroup : Symbol(_internal_ComponentTabGroup, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 30, 2)) + +TabGroup({ +>TabGroup : Symbol(TabGroup, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 38, 11)) + + defaultIndex: 0, +>defaultIndex : Symbol(defaultIndex, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 40, 10)) + + onChange: (index) => { +>onChange : Symbol(onChange, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 41, 18)) +>index : Symbol(index, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 42, 13)) + + const i: number = index; +>i : Symbol(i, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 43, 9)) +>index : Symbol(index, Decl(contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts, 42, 13)) + + }, +}); + diff --git a/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.types b/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.types new file mode 100644 index 0000000000000..b397cc9ae29cd --- /dev/null +++ b/tests/baselines/reference/contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.types @@ -0,0 +1,135 @@ +//// [tests/cases/compiler/contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts] //// + +=== contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts === +type MappedOmit = { [P in keyof T as Exclude]: T[P]; } +>MappedOmit : MappedOmit +> : ^^^^^^^^^^^^^^^^ + +type IntrinsicElements = { +>IntrinsicElements : IntrinsicElements +> : ^^^^^^^^^^^^^^^^^ + + div: { +>div : { onChange: (ev: Event) => void; } +> : ^^^^^^^^^^^^ ^^^ + + onChange: (ev: Event) => void; +>onChange : (ev: Event) => void +> : ^ ^^ ^^^^^ +>ev : Event +> : ^^^^^ + + }; + span: { +>span : { onChange: (ev: Event) => void; } +> : ^^^^^^^^^^^^ ^^^ + + onChange: (ev: Event) => void; +>onChange : (ev: Event) => void +> : ^ ^^ ^^^^^ +>ev : Event +> : ^^^^^ + + }; +}; + +type ElementType = keyof IntrinsicElements; +>ElementType : keyof IntrinsicElements +> : ^^^^^^^^^^^^^^^^^^^^^^^ + +let DEFAULT_TABS_TAG = "div" as const; +>DEFAULT_TABS_TAG : "div" +> : ^^^^^ +>"div" as const : "div" +> : ^^^^^ +>"div" : "div" +> : ^^^^^ + +type Props = MappedOmit< +>Props : Props +> : ^^^^^^^^^^^^^^^^^^^^^^ + + IntrinsicElements[TTag], + keyof Overrides +> & + Overrides; + +type TabGroupProps = Props< +>TabGroupProps : TabGroupProps +> : ^^^^^^^^^^^^^^^^^^^ +>DEFAULT_TABS_TAG : "div" +> : ^^^^^ + + TTag, + { + defaultIndex?: number; +>defaultIndex : number | undefined +> : ^^^^^^^^^^^^^^^^^^ + + onChange?: (index: number) => void; +>onChange : ((index: number) => void) | undefined +> : ^^ ^^ ^^^^^ ^^^^^^^^^^^^^ +>index : number +> : ^^^^^^ + + selectedIndex?: number; +>selectedIndex : number | undefined +> : ^^^^^^^^^^^^^^^^^^ + + vertical?: boolean; +>vertical : boolean | undefined +> : ^^^^^^^^^^^^^^^^^^^ + + manual?: boolean; +>manual : boolean | undefined +> : ^^^^^^^^^^^^^^^^^^^ + } +>; + +interface _internal_ComponentTabGroup { + ( +>DEFAULT_TABS_TAG : "div" +> : ^^^^^ + + props: TabGroupProps, +>props : TabGroupProps +> : ^^^^^^^^^^^^^^^^^^^ + + ): null; +} + +declare let TabGroup: _internal_ComponentTabGroup; +>TabGroup : _internal_ComponentTabGroup +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +TabGroup({ +>TabGroup({ defaultIndex: 0, onChange: (index) => { const i: number = index; },}) : null +> : ^^^^ +>TabGroup : _internal_ComponentTabGroup +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ defaultIndex: 0, onChange: (index) => { const i: number = index; },} : { defaultIndex: number; onChange: (index: number) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ + + defaultIndex: 0, +>defaultIndex : number +> : ^^^^^^ +>0 : 0 +> : ^ + + onChange: (index) => { +>onChange : (index: number) => void +> : ^ ^^^^^^^^^^^^^^^^^ +>(index) => { const i: number = index; } : (index: number) => void +> : ^ ^^^^^^^^^^^^^^^^^ +>index : number +> : ^^^^^^ + + const i: number = index; +>i : number +> : ^^^^^^ +>index : number +> : ^^^^^^ + + }, +}); + diff --git a/tests/baselines/reference/contextuallyTypedJsxAttribute2.symbols b/tests/baselines/reference/contextuallyTypedJsxAttribute2.symbols new file mode 100644 index 0000000000000..0d9415509ce8e --- /dev/null +++ b/tests/baselines/reference/contextuallyTypedJsxAttribute2.symbols @@ -0,0 +1,73 @@ +//// [tests/cases/compiler/contextuallyTypedJsxAttribute2.tsx] //// + +=== contextuallyTypedJsxAttribute2.tsx === +/// + +import React from "react"; +>React : Symbol(React, Decl(contextuallyTypedJsxAttribute2.tsx, 2, 6)) + +import { ComponentPropsWithRef, ElementType } from "react"; +>ComponentPropsWithRef : Symbol(ComponentPropsWithRef, Decl(contextuallyTypedJsxAttribute2.tsx, 3, 8)) +>ElementType : Symbol(ElementType, Decl(contextuallyTypedJsxAttribute2.tsx, 3, 31)) + +function UnwrappedLink( +>UnwrappedLink : Symbol(UnwrappedLink, Decl(contextuallyTypedJsxAttribute2.tsx, 3, 59)) +>T : Symbol(T, Decl(contextuallyTypedJsxAttribute2.tsx, 5, 23)) +>ElementType : Symbol(ElementType, Decl(contextuallyTypedJsxAttribute2.tsx, 3, 31)) +>ElementType : Symbol(ElementType, Decl(contextuallyTypedJsxAttribute2.tsx, 3, 31)) + + props: Omit, "as">, +>props : Symbol(props, Decl(contextuallyTypedJsxAttribute2.tsx, 5, 60)) +>Omit : Symbol(Omit, Decl(lib.es5.d.ts, --, --)) +>ComponentPropsWithRef : Symbol(ComponentPropsWithRef, Decl(contextuallyTypedJsxAttribute2.tsx, 3, 8)) +>ElementType : Symbol(ElementType, Decl(contextuallyTypedJsxAttribute2.tsx, 3, 31)) +>T : Symbol(T, Decl(contextuallyTypedJsxAttribute2.tsx, 5, 23)) +>T : Symbol(T, Decl(contextuallyTypedJsxAttribute2.tsx, 5, 23)) + +) { + return ; +>a : Symbol(JSX.IntrinsicElements.a, Decl(react16.d.ts, 2516, 41)) +>a : Symbol(JSX.IntrinsicElements.a, Decl(react16.d.ts, 2516, 41)) +} + + {}} />; +>UnwrappedLink : Symbol(UnwrappedLink, Decl(contextuallyTypedJsxAttribute2.tsx, 3, 59)) +>onClick : Symbol(onClick, Decl(contextuallyTypedJsxAttribute2.tsx, 11, 14)) +>e : Symbol(e, Decl(contextuallyTypedJsxAttribute2.tsx, 11, 25)) + +function UnwrappedLink2( +>UnwrappedLink2 : Symbol(UnwrappedLink2, Decl(contextuallyTypedJsxAttribute2.tsx, 11, 38)) +>T : Symbol(T, Decl(contextuallyTypedJsxAttribute2.tsx, 13, 24)) +>ElementType : Symbol(ElementType, Decl(contextuallyTypedJsxAttribute2.tsx, 3, 31)) +>ElementType : Symbol(ElementType, Decl(contextuallyTypedJsxAttribute2.tsx, 3, 31)) + + props: Omit, "as"> & { +>props : Symbol(props, Decl(contextuallyTypedJsxAttribute2.tsx, 13, 61)) +>Omit : Symbol(Omit, Decl(lib.es5.d.ts, --, --)) +>ComponentPropsWithRef : Symbol(ComponentPropsWithRef, Decl(contextuallyTypedJsxAttribute2.tsx, 3, 8)) +>ElementType : Symbol(ElementType, Decl(contextuallyTypedJsxAttribute2.tsx, 3, 31)) +>T : Symbol(T, Decl(contextuallyTypedJsxAttribute2.tsx, 13, 24)) +>T : Symbol(T, Decl(contextuallyTypedJsxAttribute2.tsx, 13, 24)) + + as?: T; +>as : Symbol(as, Decl(contextuallyTypedJsxAttribute2.tsx, 14, 79)) +>T : Symbol(T, Decl(contextuallyTypedJsxAttribute2.tsx, 13, 24)) + + }, +) { + return ; +>a : Symbol(JSX.IntrinsicElements.a, Decl(react16.d.ts, 2516, 41)) +>a : Symbol(JSX.IntrinsicElements.a, Decl(react16.d.ts, 2516, 41)) +} + + {}} />; +>UnwrappedLink2 : Symbol(UnwrappedLink2, Decl(contextuallyTypedJsxAttribute2.tsx, 11, 38)) +>onClick : Symbol(onClick, Decl(contextuallyTypedJsxAttribute2.tsx, 21, 15)) +>e : Symbol(e, Decl(contextuallyTypedJsxAttribute2.tsx, 21, 26)) + + {}} />; +>UnwrappedLink2 : Symbol(UnwrappedLink2, Decl(contextuallyTypedJsxAttribute2.tsx, 11, 38)) +>as : Symbol(as, Decl(contextuallyTypedJsxAttribute2.tsx, 22, 15)) +>onClick : Symbol(onClick, Decl(contextuallyTypedJsxAttribute2.tsx, 22, 27)) +>e : Symbol(e, Decl(contextuallyTypedJsxAttribute2.tsx, 22, 38)) + diff --git a/tests/baselines/reference/contextuallyTypedJsxAttribute2.types b/tests/baselines/reference/contextuallyTypedJsxAttribute2.types new file mode 100644 index 0000000000000..119033445a3af --- /dev/null +++ b/tests/baselines/reference/contextuallyTypedJsxAttribute2.types @@ -0,0 +1,100 @@ +//// [tests/cases/compiler/contextuallyTypedJsxAttribute2.tsx] //// + +=== Performance Stats === +Assignability cache: 5,000 +Type Count: 10,000 +Instantiation count: 250,000 +Symbol count: 100,000 + +=== contextuallyTypedJsxAttribute2.tsx === +/// + +import React from "react"; +>React : typeof React +> : ^^^^^^^^^^^^ + +import { ComponentPropsWithRef, ElementType } from "react"; +>ComponentPropsWithRef : any +> : ^^^ +>ElementType : any +> : ^^^ + +function UnwrappedLink( +>UnwrappedLink : (props: Omit, "as">) => JSX.Element +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ + + props: Omit, "as">, +>props : Omit, "as"> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +) { + return ; +> : JSX.Element +> : ^^^^^^^^^^^ +>a : any +> : ^^^ +>a : any +> : ^^^ +} + + {}} />; +> {}} /> : JSX.Element +> : ^^^^^^^^^^^ +>UnwrappedLink : (props: Omit, "as">) => JSX.Element +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +>onClick : (e: React.MouseEvent) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(e) => {} : (e: React.MouseEvent) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>e : React.MouseEvent +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +function UnwrappedLink2( +>UnwrappedLink2 : (props: Omit, "as"> & { as?: T; }) => JSX.Element +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ + + props: Omit, "as"> & { +>props : Omit, "as"> & { as?: T; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ + + as?: T; +>as : T | undefined +> : ^^^^^^^^^^^^^ + + }, +) { + return ; +> : JSX.Element +> : ^^^^^^^^^^^ +>a : any +> : ^^^ +>a : any +> : ^^^ +} + + {}} />; +> {}} /> : JSX.Element +> : ^^^^^^^^^^^ +>UnwrappedLink2 : (props: Omit, "as"> & { as?: T; }) => JSX.Element +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +>onClick : (e: React.MouseEvent) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(e) => {} : (e: React.MouseEvent) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>e : React.MouseEvent +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + {}} />; +> {}} /> : JSX.Element +> : ^^^^^^^^^^^ +>UnwrappedLink2 : (props: Omit, "as"> & { as?: T; }) => JSX.Element +> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^ +>as : "button" +> : ^^^^^^^^ +>onClick : (e: React.MouseEvent) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(e) => {} : (e: React.MouseEvent) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>e : React.MouseEvent +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/controlFlowUnionContainingTypeParameter1.symbols b/tests/baselines/reference/controlFlowUnionContainingTypeParameter1.symbols new file mode 100644 index 0000000000000..4429e97076f32 --- /dev/null +++ b/tests/baselines/reference/controlFlowUnionContainingTypeParameter1.symbols @@ -0,0 +1,105 @@ +//// [tests/cases/compiler/controlFlowUnionContainingTypeParameter1.ts] //// + +=== controlFlowUnionContainingTypeParameter1.ts === +// https://github.com/microsoft/TypeScript/issues/44814 + +class TestClass { +>TestClass : Symbol(TestClass, Decl(controlFlowUnionContainingTypeParameter1.ts, 0, 0)) +>T : Symbol(T, Decl(controlFlowUnionContainingTypeParameter1.ts, 2, 16)) + + typeguard(val: unknown): val is T { +>typeguard : Symbol(TestClass.typeguard, Decl(controlFlowUnionContainingTypeParameter1.ts, 2, 20)) +>val : Symbol(val, Decl(controlFlowUnionContainingTypeParameter1.ts, 3, 12)) +>val : Symbol(val, Decl(controlFlowUnionContainingTypeParameter1.ts, 3, 12)) +>T : Symbol(T, Decl(controlFlowUnionContainingTypeParameter1.ts, 2, 16)) + + return true; + } + f(v: number): void {} +>f : Symbol(TestClass.f, Decl(controlFlowUnionContainingTypeParameter1.ts, 5, 3)) +>v : Symbol(v, Decl(controlFlowUnionContainingTypeParameter1.ts, 6, 4)) + + h(v: T): void {} +>h : Symbol(TestClass.h, Decl(controlFlowUnionContainingTypeParameter1.ts, 6, 23)) +>v : Symbol(v, Decl(controlFlowUnionContainingTypeParameter1.ts, 7, 4)) +>T : Symbol(T, Decl(controlFlowUnionContainingTypeParameter1.ts, 2, 16)) + + func(val: T | number): void { +>func : Symbol(TestClass.func, Decl(controlFlowUnionContainingTypeParameter1.ts, 7, 18)) +>val : Symbol(val, Decl(controlFlowUnionContainingTypeParameter1.ts, 8, 7)) +>T : Symbol(T, Decl(controlFlowUnionContainingTypeParameter1.ts, 2, 16)) + + if (this.typeguard(val)) { +>this.typeguard : Symbol(TestClass.typeguard, Decl(controlFlowUnionContainingTypeParameter1.ts, 2, 20)) +>this : Symbol(TestClass, Decl(controlFlowUnionContainingTypeParameter1.ts, 0, 0)) +>typeguard : Symbol(TestClass.typeguard, Decl(controlFlowUnionContainingTypeParameter1.ts, 2, 20)) +>val : Symbol(val, Decl(controlFlowUnionContainingTypeParameter1.ts, 8, 7)) + + this.h(val); +>this.h : Symbol(TestClass.h, Decl(controlFlowUnionContainingTypeParameter1.ts, 6, 23)) +>this : Symbol(TestClass, Decl(controlFlowUnionContainingTypeParameter1.ts, 0, 0)) +>h : Symbol(TestClass.h, Decl(controlFlowUnionContainingTypeParameter1.ts, 6, 23)) +>val : Symbol(val, Decl(controlFlowUnionContainingTypeParameter1.ts, 8, 7)) + + return; + } + this.f(val); +>this.f : Symbol(TestClass.f, Decl(controlFlowUnionContainingTypeParameter1.ts, 5, 3)) +>this : Symbol(TestClass, Decl(controlFlowUnionContainingTypeParameter1.ts, 0, 0)) +>f : Symbol(TestClass.f, Decl(controlFlowUnionContainingTypeParameter1.ts, 5, 3)) +>val : Symbol(val, Decl(controlFlowUnionContainingTypeParameter1.ts, 8, 7)) + } +} + +class TestClass2 { +>TestClass2 : Symbol(TestClass2, Decl(controlFlowUnionContainingTypeParameter1.ts, 15, 1)) +>T : Symbol(T, Decl(controlFlowUnionContainingTypeParameter1.ts, 17, 17)) +>Date : Symbol(Date, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.scripthost.d.ts, --, --)) + + typeguard(val: unknown): val is T { +>typeguard : Symbol(TestClass2.typeguard, Decl(controlFlowUnionContainingTypeParameter1.ts, 17, 34)) +>val : Symbol(val, Decl(controlFlowUnionContainingTypeParameter1.ts, 18, 12)) +>val : Symbol(val, Decl(controlFlowUnionContainingTypeParameter1.ts, 18, 12)) +>T : Symbol(T, Decl(controlFlowUnionContainingTypeParameter1.ts, 17, 17)) + + return true; + } + f(v: number): void {} +>f : Symbol(TestClass2.f, Decl(controlFlowUnionContainingTypeParameter1.ts, 20, 3)) +>v : Symbol(v, Decl(controlFlowUnionContainingTypeParameter1.ts, 21, 4)) + + h(v: T): void {} +>h : Symbol(TestClass2.h, Decl(controlFlowUnionContainingTypeParameter1.ts, 21, 23)) +>v : Symbol(v, Decl(controlFlowUnionContainingTypeParameter1.ts, 22, 4)) +>T : Symbol(T, Decl(controlFlowUnionContainingTypeParameter1.ts, 17, 17)) + + func(val: T | number): void { +>func : Symbol(TestClass2.func, Decl(controlFlowUnionContainingTypeParameter1.ts, 22, 18)) +>val : Symbol(val, Decl(controlFlowUnionContainingTypeParameter1.ts, 23, 7)) +>T : Symbol(T, Decl(controlFlowUnionContainingTypeParameter1.ts, 17, 17)) + + if (this.typeguard(val)) { +>this.typeguard : Symbol(TestClass2.typeguard, Decl(controlFlowUnionContainingTypeParameter1.ts, 17, 34)) +>this : Symbol(TestClass2, Decl(controlFlowUnionContainingTypeParameter1.ts, 15, 1)) +>typeguard : Symbol(TestClass2.typeguard, Decl(controlFlowUnionContainingTypeParameter1.ts, 17, 34)) +>val : Symbol(val, Decl(controlFlowUnionContainingTypeParameter1.ts, 23, 7)) + + this.h(val); +>this.h : Symbol(TestClass2.h, Decl(controlFlowUnionContainingTypeParameter1.ts, 21, 23)) +>this : Symbol(TestClass2, Decl(controlFlowUnionContainingTypeParameter1.ts, 15, 1)) +>h : Symbol(TestClass2.h, Decl(controlFlowUnionContainingTypeParameter1.ts, 21, 23)) +>val : Symbol(val, Decl(controlFlowUnionContainingTypeParameter1.ts, 23, 7)) + + return; + } + val; +>val : Symbol(val, Decl(controlFlowUnionContainingTypeParameter1.ts, 23, 7)) + + this.f(val); +>this.f : Symbol(TestClass2.f, Decl(controlFlowUnionContainingTypeParameter1.ts, 20, 3)) +>this : Symbol(TestClass2, Decl(controlFlowUnionContainingTypeParameter1.ts, 15, 1)) +>f : Symbol(TestClass2.f, Decl(controlFlowUnionContainingTypeParameter1.ts, 20, 3)) +>val : Symbol(val, Decl(controlFlowUnionContainingTypeParameter1.ts, 23, 7)) + } +} + diff --git a/tests/baselines/reference/controlFlowUnionContainingTypeParameter1.types b/tests/baselines/reference/controlFlowUnionContainingTypeParameter1.types new file mode 100644 index 0000000000000..4a3c2dd1f84eb --- /dev/null +++ b/tests/baselines/reference/controlFlowUnionContainingTypeParameter1.types @@ -0,0 +1,153 @@ +//// [tests/cases/compiler/controlFlowUnionContainingTypeParameter1.ts] //// + +=== controlFlowUnionContainingTypeParameter1.ts === +// https://github.com/microsoft/TypeScript/issues/44814 + +class TestClass { +>TestClass : TestClass +> : ^^^^^^^^^^^^ + + typeguard(val: unknown): val is T { +>typeguard : (val: unknown) => val is T +> : ^ ^^ ^^^^^ +>val : unknown +> : ^^^^^^^ + + return true; +>true : true +> : ^^^^ + } + f(v: number): void {} +>f : (v: number) => void +> : ^ ^^ ^^^^^ +>v : number +> : ^^^^^^ + + h(v: T): void {} +>h : (v: T) => void +> : ^ ^^ ^^^^^ +>v : T +> : ^ + + func(val: T | number): void { +>func : (val: T | number) => void +> : ^ ^^ ^^^^^ +>val : number | T +> : ^^^^^^^^^^ + + if (this.typeguard(val)) { +>this.typeguard(val) : boolean +> : ^^^^^^^ +>this.typeguard : (val: unknown) => val is T +> : ^ ^^ ^^^^^ +>this : this +> : ^^^^ +>typeguard : (val: unknown) => val is T +> : ^ ^^ ^^^^^ +>val : number | T +> : ^^^^^^^^^^ + + this.h(val); +>this.h(val) : void +> : ^^^^ +>this.h : (v: T) => void +> : ^ ^^ ^^^^^ +>this : this +> : ^^^^ +>h : (v: T) => void +> : ^ ^^ ^^^^^ +>val : T +> : ^ + + return; + } + this.f(val); +>this.f(val) : void +> : ^^^^ +>this.f : (v: number) => void +> : ^ ^^ ^^^^^ +>this : this +> : ^^^^ +>f : (v: number) => void +> : ^ ^^ ^^^^^ +>val : number +> : ^^^^^^ + } +} + +class TestClass2 { +>TestClass2 : TestClass2 +> : ^^^^^^^^^^^^^ + + typeguard(val: unknown): val is T { +>typeguard : (val: unknown) => val is T +> : ^ ^^ ^^^^^ +>val : unknown +> : ^^^^^^^ + + return true; +>true : true +> : ^^^^ + } + f(v: number): void {} +>f : (v: number) => void +> : ^ ^^ ^^^^^ +>v : number +> : ^^^^^^ + + h(v: T): void {} +>h : (v: T) => void +> : ^ ^^ ^^^^^ +>v : T +> : ^ + + func(val: T | number): void { +>func : (val: T | number) => void +> : ^ ^^ ^^^^^ +>val : number | T +> : ^^^^^^^^^^ + + if (this.typeguard(val)) { +>this.typeguard(val) : boolean +> : ^^^^^^^ +>this.typeguard : (val: unknown) => val is T +> : ^ ^^ ^^^^^ +>this : this +> : ^^^^ +>typeguard : (val: unknown) => val is T +> : ^ ^^ ^^^^^ +>val : number | T +> : ^^^^^^^^^^ + + this.h(val); +>this.h(val) : void +> : ^^^^ +>this.h : (v: T) => void +> : ^ ^^ ^^^^^ +>this : this +> : ^^^^ +>h : (v: T) => void +> : ^ ^^ ^^^^^ +>val : T +> : ^ + + return; + } + val; +>val : number +> : ^^^^^^ + + this.f(val); +>this.f(val) : void +> : ^^^^ +>this.f : (v: number) => void +> : ^ ^^ ^^^^^ +>this : this +> : ^^^^ +>f : (v: number) => void +> : ^ ^^ ^^^^^ +>val : number +> : ^^^^^^ + } +} + diff --git a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).symbols b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).symbols index 92e1297495f1b..d0e1cd81e8272 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).symbols +++ b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).symbols @@ -110,8 +110,10 @@ function mapAsyncIterable( >next : Symbol(AsyncIterator.next, Decl(lib.es2018.asynciterable.d.ts, --, --)) }, - async return(): Promise> { + async return(value: R): Promise> { >return : Symbol(return, Decl(discriminateWithOptionalProperty2.ts, 32, 6)) +>value : Symbol(value, Decl(discriminateWithOptionalProperty2.ts, 33, 17)) +>R : Symbol(R, Decl(discriminateWithOptionalProperty2.ts, 4, 31)) >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, --, --)) >IteratorResult : Symbol(IteratorResult, Decl(lib.es2015.iterable.d.ts, --, --)) >U : Symbol(U, Decl(discriminateWithOptionalProperty2.ts, 4, 28)) @@ -122,11 +124,12 @@ function mapAsyncIterable( >iterator : Symbol(iterator, Decl(discriminateWithOptionalProperty2.ts, 8, 7)) >return : Symbol(AsyncIterator.return, Decl(lib.es2018.asynciterable.d.ts, --, --)) - ? mapResult(await iterator.return()) + ? mapResult(await iterator.return(value)) >mapResult : Symbol(mapResult, Decl(discriminateWithOptionalProperty2.ts, 8, 52)) >iterator.return : Symbol(AsyncIterator.return, Decl(lib.es2018.asynciterable.d.ts, --, --)) >iterator : Symbol(iterator, Decl(discriminateWithOptionalProperty2.ts, 8, 7)) >return : Symbol(AsyncIterator.return, Decl(lib.es2018.asynciterable.d.ts, --, --)) +>value : Symbol(value, Decl(discriminateWithOptionalProperty2.ts, 33, 17)) : { value: undefined as any, done: true }; >value : Symbol(value, Decl(discriminateWithOptionalProperty2.ts, 36, 11)) @@ -164,35 +167,47 @@ function mapAsyncIterable( >this : Symbol(AsyncGenerator, Decl(lib.es2018.asyncgenerator.d.ts, --, --)) }, + async [Symbol.asyncDispose]() { +>[Symbol.asyncDispose] : Symbol([Symbol.asyncDispose], Decl(discriminateWithOptionalProperty2.ts, 46, 6)) +>Symbol.asyncDispose : Symbol(SymbolConstructor.asyncDispose, Decl(lib.esnext.disposable.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, --, --)) +>asyncDispose : Symbol(SymbolConstructor.asyncDispose, Decl(lib.esnext.disposable.d.ts, --, --)) + + await this.return(undefined!); +>this.return : Symbol(AsyncGenerator.return, Decl(lib.es2018.asyncgenerator.d.ts, --, --)) +>this : Symbol(AsyncGenerator, Decl(lib.es2018.asyncgenerator.d.ts, --, --)) +>return : Symbol(AsyncGenerator.return, Decl(lib.es2018.asyncgenerator.d.ts, --, --)) +>undefined : Symbol(undefined) + } }; } const items = [1, 2, 3]; ->items : Symbol(items, Decl(discriminateWithOptionalProperty2.ts, 50, 5)) +>items : Symbol(items, Decl(discriminateWithOptionalProperty2.ts, 53, 5)) const iterable = { ->iterable : Symbol(iterable, Decl(discriminateWithOptionalProperty2.ts, 52, 5)) +>iterable : Symbol(iterable, Decl(discriminateWithOptionalProperty2.ts, 55, 5)) [Symbol.asyncIterator]() { ->[Symbol.asyncIterator] : Symbol([Symbol.asyncIterator], Decl(discriminateWithOptionalProperty2.ts, 52, 18)) +>[Symbol.asyncIterator] : Symbol([Symbol.asyncIterator], Decl(discriminateWithOptionalProperty2.ts, 55, 18)) >Symbol.asyncIterator : Symbol(SymbolConstructor.asyncIterator, Decl(lib.es2018.asynciterable.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, --, --)) >asyncIterator : Symbol(SymbolConstructor.asyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) return this; ->this : Symbol(iterable, Decl(discriminateWithOptionalProperty2.ts, 52, 16)) +>this : Symbol(iterable, Decl(discriminateWithOptionalProperty2.ts, 55, 16)) }, next() { ->next : Symbol(next, Decl(discriminateWithOptionalProperty2.ts, 55, 4)) +>next : Symbol(next, Decl(discriminateWithOptionalProperty2.ts, 58, 4)) const value = items[0]; ->value : Symbol(value, Decl(discriminateWithOptionalProperty2.ts, 57, 9)) ->items : Symbol(items, Decl(discriminateWithOptionalProperty2.ts, 50, 5)) +>value : Symbol(value, Decl(discriminateWithOptionalProperty2.ts, 60, 9)) +>items : Symbol(items, Decl(discriminateWithOptionalProperty2.ts, 53, 5)) items.shift(); >items.shift : Symbol(Array.shift, Decl(lib.es5.d.ts, --, --)) ->items : Symbol(items, Decl(discriminateWithOptionalProperty2.ts, 50, 5)) +>items : Symbol(items, Decl(discriminateWithOptionalProperty2.ts, 53, 5)) >shift : Symbol(Array.shift, Decl(lib.es5.d.ts, --, --)) return Promise.resolve({ @@ -201,23 +216,23 @@ const iterable = { >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) done: items.length === 0, ->done : Symbol(done, Decl(discriminateWithOptionalProperty2.ts, 59, 28)) +>done : Symbol(done, Decl(discriminateWithOptionalProperty2.ts, 62, 28)) >items.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) ->items : Symbol(items, Decl(discriminateWithOptionalProperty2.ts, 50, 5)) +>items : Symbol(items, Decl(discriminateWithOptionalProperty2.ts, 53, 5)) >length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) value, ->value : Symbol(value, Decl(discriminateWithOptionalProperty2.ts, 60, 31)) +>value : Symbol(value, Decl(discriminateWithOptionalProperty2.ts, 63, 31)) }); }, }; const doubles = mapAsyncIterable(iterable, (x) => x + x); ->doubles : Symbol(doubles, Decl(discriminateWithOptionalProperty2.ts, 66, 5)) +>doubles : Symbol(doubles, Decl(discriminateWithOptionalProperty2.ts, 69, 5)) >mapAsyncIterable : Symbol(mapAsyncIterable, Decl(discriminateWithOptionalProperty2.ts, 2, 40)) ->iterable : Symbol(iterable, Decl(discriminateWithOptionalProperty2.ts, 52, 5)) ->x : Symbol(x, Decl(discriminateWithOptionalProperty2.ts, 66, 44)) ->x : Symbol(x, Decl(discriminateWithOptionalProperty2.ts, 66, 44)) ->x : Symbol(x, Decl(discriminateWithOptionalProperty2.ts, 66, 44)) +>iterable : Symbol(iterable, Decl(discriminateWithOptionalProperty2.ts, 55, 5)) +>x : Symbol(x, Decl(discriminateWithOptionalProperty2.ts, 69, 44)) +>x : Symbol(x, Decl(discriminateWithOptionalProperty2.ts, 69, 44)) +>x : Symbol(x, Decl(discriminateWithOptionalProperty2.ts, 69, 44)) diff --git a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types index ef7c8c5ae73d8..e0c4f8568b68e 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types @@ -125,8 +125,8 @@ function mapAsyncIterable( } return { ->{ async next() { return mapResult(await iterator.next()); }, async return(): Promise> { return typeof iterator.return === "function" ? mapResult(await iterator.return()) : { value: undefined as any, done: true }; }, async throw(error?: unknown) { if (typeof iterator.throw === "function") { return mapResult(await iterator.throw(error)); } throw error; }, [Symbol.asyncIterator]() { return this; }, } : { next(): Promise>; return(): Promise>; throw(error?: unknown): Promise>; [Symbol.asyncIterator](): AsyncGenerator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ async next() { return mapResult(await iterator.next()); }, async return(value: R): Promise> { return typeof iterator.return === "function" ? mapResult(await iterator.return(value)) : { value: undefined as any, done: true }; }, async throw(error?: unknown) { if (typeof iterator.throw === "function") { return mapResult(await iterator.throw(error)); } throw error; }, [Symbol.asyncIterator]() { return this; }, async [Symbol.asyncDispose]() { await this.return(undefined!); } } : { next(): Promise>; return(value: R): Promise>; throw(error?: unknown): Promise>; [Symbol.asyncIterator](): AsyncGenerator; [Symbol.asyncDispose](): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ async next() { >next : () => Promise> @@ -149,13 +149,15 @@ function mapAsyncIterable( > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ }, - async return(): Promise> { ->return : () => Promise> -> : ^^^^^^ + async return(value: R): Promise> { +>return : (value: R) => Promise> +> : ^ ^^ ^^^^^ +>value : R +> : ^ return typeof iterator.return === "function" ->typeof iterator.return === "function" ? mapResult(await iterator.return()) : { value: undefined as any, done: true } : Promise> | { value: any; done: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +>typeof iterator.return === "function" ? mapResult(await iterator.return(value)) : { value: undefined as any, done: true } : Promise> | { value: any; done: true; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >typeof iterator.return === "function" : boolean > : ^^^^^^^ >typeof iterator.return : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -169,21 +171,23 @@ function mapAsyncIterable( >"function" : "function" > : ^^^^^^^^^^ - ? mapResult(await iterator.return()) ->mapResult(await iterator.return()) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ? mapResult(await iterator.return(value)) +>mapResult(await iterator.return(value)) : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> > : ^ ^^ ^^^^^ ->await iterator.return() : IteratorResult -> : ^^^^^^^^^^^^^^^^^^^^ ->iterator.return() : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>await iterator.return(value) : IteratorResult +> : ^^^^^^^^^^^^^^^^^^^^ +>iterator.return(value) : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.return : (value?: R | PromiseLike | undefined) => Promise> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >return : (value?: R | PromiseLike | undefined) => Promise> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>value : R +> : ^ : { value: undefined as any, done: true }; >{ value: undefined as any, done: true } : { value: any; done: true; } @@ -256,6 +260,32 @@ function mapAsyncIterable( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ }, + async [Symbol.asyncDispose]() { +>[Symbol.asyncDispose] : () => Promise +> : ^^^^^^^^^^^^^^^^^^^ +>Symbol.asyncDispose : unique symbol +> : ^^^^^^^^^^^^^ +>Symbol : SymbolConstructor +> : ^^^^^^^^^^^^^^^^^ +>asyncDispose : unique symbol +> : ^^^^^^^^^^^^^ + + await this.return(undefined!); +>await this.return(undefined!) : IteratorResult +> : ^^^^^^^^^^^^^^^^^^^^ +>this.return(undefined!) : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this.return : (value: R | PromiseLike) => Promise> +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this : AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>return : (value: R | PromiseLike) => Promise> +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>undefined! : never +> : ^^^^^ +>undefined : undefined +> : ^^^^^^^^^ + } }; } diff --git a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).symbols b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).symbols index 92e1297495f1b..d0e1cd81e8272 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).symbols +++ b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).symbols @@ -110,8 +110,10 @@ function mapAsyncIterable( >next : Symbol(AsyncIterator.next, Decl(lib.es2018.asynciterable.d.ts, --, --)) }, - async return(): Promise> { + async return(value: R): Promise> { >return : Symbol(return, Decl(discriminateWithOptionalProperty2.ts, 32, 6)) +>value : Symbol(value, Decl(discriminateWithOptionalProperty2.ts, 33, 17)) +>R : Symbol(R, Decl(discriminateWithOptionalProperty2.ts, 4, 31)) >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, --, --)) >IteratorResult : Symbol(IteratorResult, Decl(lib.es2015.iterable.d.ts, --, --)) >U : Symbol(U, Decl(discriminateWithOptionalProperty2.ts, 4, 28)) @@ -122,11 +124,12 @@ function mapAsyncIterable( >iterator : Symbol(iterator, Decl(discriminateWithOptionalProperty2.ts, 8, 7)) >return : Symbol(AsyncIterator.return, Decl(lib.es2018.asynciterable.d.ts, --, --)) - ? mapResult(await iterator.return()) + ? mapResult(await iterator.return(value)) >mapResult : Symbol(mapResult, Decl(discriminateWithOptionalProperty2.ts, 8, 52)) >iterator.return : Symbol(AsyncIterator.return, Decl(lib.es2018.asynciterable.d.ts, --, --)) >iterator : Symbol(iterator, Decl(discriminateWithOptionalProperty2.ts, 8, 7)) >return : Symbol(AsyncIterator.return, Decl(lib.es2018.asynciterable.d.ts, --, --)) +>value : Symbol(value, Decl(discriminateWithOptionalProperty2.ts, 33, 17)) : { value: undefined as any, done: true }; >value : Symbol(value, Decl(discriminateWithOptionalProperty2.ts, 36, 11)) @@ -164,35 +167,47 @@ function mapAsyncIterable( >this : Symbol(AsyncGenerator, Decl(lib.es2018.asyncgenerator.d.ts, --, --)) }, + async [Symbol.asyncDispose]() { +>[Symbol.asyncDispose] : Symbol([Symbol.asyncDispose], Decl(discriminateWithOptionalProperty2.ts, 46, 6)) +>Symbol.asyncDispose : Symbol(SymbolConstructor.asyncDispose, Decl(lib.esnext.disposable.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, --, --)) +>asyncDispose : Symbol(SymbolConstructor.asyncDispose, Decl(lib.esnext.disposable.d.ts, --, --)) + + await this.return(undefined!); +>this.return : Symbol(AsyncGenerator.return, Decl(lib.es2018.asyncgenerator.d.ts, --, --)) +>this : Symbol(AsyncGenerator, Decl(lib.es2018.asyncgenerator.d.ts, --, --)) +>return : Symbol(AsyncGenerator.return, Decl(lib.es2018.asyncgenerator.d.ts, --, --)) +>undefined : Symbol(undefined) + } }; } const items = [1, 2, 3]; ->items : Symbol(items, Decl(discriminateWithOptionalProperty2.ts, 50, 5)) +>items : Symbol(items, Decl(discriminateWithOptionalProperty2.ts, 53, 5)) const iterable = { ->iterable : Symbol(iterable, Decl(discriminateWithOptionalProperty2.ts, 52, 5)) +>iterable : Symbol(iterable, Decl(discriminateWithOptionalProperty2.ts, 55, 5)) [Symbol.asyncIterator]() { ->[Symbol.asyncIterator] : Symbol([Symbol.asyncIterator], Decl(discriminateWithOptionalProperty2.ts, 52, 18)) +>[Symbol.asyncIterator] : Symbol([Symbol.asyncIterator], Decl(discriminateWithOptionalProperty2.ts, 55, 18)) >Symbol.asyncIterator : Symbol(SymbolConstructor.asyncIterator, Decl(lib.es2018.asynciterable.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, --, --)) >asyncIterator : Symbol(SymbolConstructor.asyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) return this; ->this : Symbol(iterable, Decl(discriminateWithOptionalProperty2.ts, 52, 16)) +>this : Symbol(iterable, Decl(discriminateWithOptionalProperty2.ts, 55, 16)) }, next() { ->next : Symbol(next, Decl(discriminateWithOptionalProperty2.ts, 55, 4)) +>next : Symbol(next, Decl(discriminateWithOptionalProperty2.ts, 58, 4)) const value = items[0]; ->value : Symbol(value, Decl(discriminateWithOptionalProperty2.ts, 57, 9)) ->items : Symbol(items, Decl(discriminateWithOptionalProperty2.ts, 50, 5)) +>value : Symbol(value, Decl(discriminateWithOptionalProperty2.ts, 60, 9)) +>items : Symbol(items, Decl(discriminateWithOptionalProperty2.ts, 53, 5)) items.shift(); >items.shift : Symbol(Array.shift, Decl(lib.es5.d.ts, --, --)) ->items : Symbol(items, Decl(discriminateWithOptionalProperty2.ts, 50, 5)) +>items : Symbol(items, Decl(discriminateWithOptionalProperty2.ts, 53, 5)) >shift : Symbol(Array.shift, Decl(lib.es5.d.ts, --, --)) return Promise.resolve({ @@ -201,23 +216,23 @@ const iterable = { >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --)) done: items.length === 0, ->done : Symbol(done, Decl(discriminateWithOptionalProperty2.ts, 59, 28)) +>done : Symbol(done, Decl(discriminateWithOptionalProperty2.ts, 62, 28)) >items.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) ->items : Symbol(items, Decl(discriminateWithOptionalProperty2.ts, 50, 5)) +>items : Symbol(items, Decl(discriminateWithOptionalProperty2.ts, 53, 5)) >length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) value, ->value : Symbol(value, Decl(discriminateWithOptionalProperty2.ts, 60, 31)) +>value : Symbol(value, Decl(discriminateWithOptionalProperty2.ts, 63, 31)) }); }, }; const doubles = mapAsyncIterable(iterable, (x) => x + x); ->doubles : Symbol(doubles, Decl(discriminateWithOptionalProperty2.ts, 66, 5)) +>doubles : Symbol(doubles, Decl(discriminateWithOptionalProperty2.ts, 69, 5)) >mapAsyncIterable : Symbol(mapAsyncIterable, Decl(discriminateWithOptionalProperty2.ts, 2, 40)) ->iterable : Symbol(iterable, Decl(discriminateWithOptionalProperty2.ts, 52, 5)) ->x : Symbol(x, Decl(discriminateWithOptionalProperty2.ts, 66, 44)) ->x : Symbol(x, Decl(discriminateWithOptionalProperty2.ts, 66, 44)) ->x : Symbol(x, Decl(discriminateWithOptionalProperty2.ts, 66, 44)) +>iterable : Symbol(iterable, Decl(discriminateWithOptionalProperty2.ts, 55, 5)) +>x : Symbol(x, Decl(discriminateWithOptionalProperty2.ts, 69, 44)) +>x : Symbol(x, Decl(discriminateWithOptionalProperty2.ts, 69, 44)) +>x : Symbol(x, Decl(discriminateWithOptionalProperty2.ts, 69, 44)) diff --git a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types index ef7c8c5ae73d8..e0c4f8568b68e 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types @@ -125,8 +125,8 @@ function mapAsyncIterable( } return { ->{ async next() { return mapResult(await iterator.next()); }, async return(): Promise> { return typeof iterator.return === "function" ? mapResult(await iterator.return()) : { value: undefined as any, done: true }; }, async throw(error?: unknown) { if (typeof iterator.throw === "function") { return mapResult(await iterator.throw(error)); } throw error; }, [Symbol.asyncIterator]() { return this; }, } : { next(): Promise>; return(): Promise>; throw(error?: unknown): Promise>; [Symbol.asyncIterator](): AsyncGenerator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ async next() { return mapResult(await iterator.next()); }, async return(value: R): Promise> { return typeof iterator.return === "function" ? mapResult(await iterator.return(value)) : { value: undefined as any, done: true }; }, async throw(error?: unknown) { if (typeof iterator.throw === "function") { return mapResult(await iterator.throw(error)); } throw error; }, [Symbol.asyncIterator]() { return this; }, async [Symbol.asyncDispose]() { await this.return(undefined!); } } : { next(): Promise>; return(value: R): Promise>; throw(error?: unknown): Promise>; [Symbol.asyncIterator](): AsyncGenerator; [Symbol.asyncDispose](): Promise; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ async next() { >next : () => Promise> @@ -149,13 +149,15 @@ function mapAsyncIterable( > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ }, - async return(): Promise> { ->return : () => Promise> -> : ^^^^^^ + async return(value: R): Promise> { +>return : (value: R) => Promise> +> : ^ ^^ ^^^^^ +>value : R +> : ^ return typeof iterator.return === "function" ->typeof iterator.return === "function" ? mapResult(await iterator.return()) : { value: undefined as any, done: true } : Promise> | { value: any; done: true; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +>typeof iterator.return === "function" ? mapResult(await iterator.return(value)) : { value: undefined as any, done: true } : Promise> | { value: any; done: true; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >typeof iterator.return === "function" : boolean > : ^^^^^^^ >typeof iterator.return : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" @@ -169,21 +171,23 @@ function mapAsyncIterable( >"function" : "function" > : ^^^^^^^^^^ - ? mapResult(await iterator.return()) ->mapResult(await iterator.return()) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ? mapResult(await iterator.return(value)) +>mapResult(await iterator.return(value)) : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> > : ^ ^^ ^^^^^ ->await iterator.return() : IteratorResult -> : ^^^^^^^^^^^^^^^^^^^^ ->iterator.return() : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>await iterator.return(value) : IteratorResult +> : ^^^^^^^^^^^^^^^^^^^^ +>iterator.return(value) : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator.return : (value?: R | PromiseLike | undefined) => Promise> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >return : (value?: R | PromiseLike | undefined) => Promise> > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>value : R +> : ^ : { value: undefined as any, done: true }; >{ value: undefined as any, done: true } : { value: any; done: true; } @@ -256,6 +260,32 @@ function mapAsyncIterable( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ }, + async [Symbol.asyncDispose]() { +>[Symbol.asyncDispose] : () => Promise +> : ^^^^^^^^^^^^^^^^^^^ +>Symbol.asyncDispose : unique symbol +> : ^^^^^^^^^^^^^ +>Symbol : SymbolConstructor +> : ^^^^^^^^^^^^^^^^^ +>asyncDispose : unique symbol +> : ^^^^^^^^^^^^^ + + await this.return(undefined!); +>await this.return(undefined!) : IteratorResult +> : ^^^^^^^^^^^^^^^^^^^^ +>this.return(undefined!) : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this.return : (value: R | PromiseLike) => Promise> +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this : AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>return : (value: R | PromiseLike) => Promise> +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>undefined! : never +> : ^^^^^ +>undefined : undefined +> : ^^^^^^^^^ + } }; } diff --git a/tests/baselines/reference/goToDefinitionAmbiants.baseline.jsonc b/tests/baselines/reference/goToDefinitionAmbiants.baseline.jsonc index d6afdd5a52f39..987778aebe9cd 100644 --- a/tests/baselines/reference/goToDefinitionAmbiants.baseline.jsonc +++ b/tests/baselines/reference/goToDefinitionAmbiants.baseline.jsonc @@ -64,11 +64,11 @@ // === /tests/cases/fourslash/goToDefinitionAmbiants.ts === // declare var ambientVar; // declare function ambientFunction(); -// declare class ambientClass { -// [|constructor();|] +// <|declare class [|{| defId: 0 |}ambientClass|] { +// [|{| defId: 1 |}constructor();|] // static method(); // public method(); -// } +// }|> // // ambientVar = 1; // ambientFunction(); @@ -79,6 +79,17 @@ // === Details === [ { + "defId": 0, + "kind": "class", + "name": "ambientClass", + "containerName": "", + "isLocal": false, + "isAmbient": true, + "unverified": false, + "failedAliasResolution": false + }, + { + "defId": 1, "kind": "constructor", "name": "__constructor", "containerName": "ambientClass", diff --git a/tests/baselines/reference/goToDefinitionClassConstructors.baseline.jsonc b/tests/baselines/reference/goToDefinitionClassConstructors.baseline.jsonc new file mode 100644 index 0000000000000..684c2c26c44a7 --- /dev/null +++ b/tests/baselines/reference/goToDefinitionClassConstructors.baseline.jsonc @@ -0,0 +1,157 @@ +// === goToDefinition === +// === /tests/cases/fourslash/definitions.ts === +// export class Base { +// [|{| defId: 1 |}constructor(protected readonly cArg: string) {}|] +// } +// +// <|export class [|{| defId: 0 |}Derived|] extends Base { +// readonly email = this.cArg.getByLabel('Email') +// readonly password = this.cArg.getByLabel('Password') +// }|> + +// === /tests/cases/fourslash/main.ts === +// import { Derived } from './definitions' +// const derived = new /*GOTO DEF*/[|Derived|](cArg) + + // === Details === + [ + { + "defId": 0, + "kind": "class", + "name": "Derived", + "containerName": "\"/tests/cases/fourslash/definitions\"", + "isLocal": false, + "isAmbient": false, + "unverified": false + }, + { + "defId": 1, + "kind": "constructor", + "name": "__constructor", + "containerName": "Base", + "isLocal": false, + "isAmbient": false, + "unverified": false + } + ] + + + +// === goToDefinition === +// === /tests/cases/fourslash/defInSameFile.ts === +// import { Base } from './definitions' +// <|class [|{| defId: 0 |}SameFile|] extends Base { +// readonly name: string = 'SameFile' +// }|> +// const SameFile = new /*GOTO DEF*/SameFile(cArg) +// const wrapper = new Base(cArg) + +// === /tests/cases/fourslash/definitions.ts === +// export class Base { +// [|{| defId: 1 |}constructor(protected readonly cArg: string) {}|] +// } +// +// export class Derived extends Base { +// --- (line: 6) skipped --- + + // === Details === + [ + { + "defId": 0, + "kind": "class", + "name": "SameFile", + "containerName": "", + "isLocal": true, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + }, + { + "defId": 1, + "kind": "constructor", + "name": "__constructor", + "containerName": "Base", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + } + ] + + + +// === goToDefinition === +// === /tests/cases/fourslash/hasConstructor.ts === +// import { Base } from './definitions' +// <|class [|{| defId: 0 |}HasConstructor|] extends Base { +// [|{| defId: 1 |}constructor() {}|] +// readonly name: string = ''; +// }|> +// const hasConstructor = new /*GOTO DEF*/HasConstructor(cArg) + + // === Details === + [ + { + "defId": 0, + "kind": "class", + "name": "HasConstructor", + "containerName": "", + "isLocal": true, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + }, + { + "defId": 1, + "kind": "constructor", + "name": "__constructor", + "containerName": "HasConstructor", + "isLocal": true, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + } + ] + + + +// === goToDefinition === +// === /tests/cases/fourslash/definitions.ts === +// <|export class [|{| defId: 0 |}Base|] { +// [|{| defId: 1 |}constructor(protected readonly cArg: string) {}|] +// }|> +// +// export class Derived extends Base { +// readonly email = this.cArg.getByLabel('Email') +// readonly password = this.cArg.getByLabel('Password') +// } + +// === /tests/cases/fourslash/defInSameFile.ts === +// import { Base } from './definitions' +// class SameFile extends Base { +// readonly name: string = 'SameFile' +// } +// const SameFile = new SameFile(cArg) +// const wrapper = new /*GOTO DEF*/[|Base|](cArg) + + // === Details === + [ + { + "defId": 0, + "kind": "class", + "name": "Base", + "containerName": "\"/tests/cases/fourslash/definitions\"", + "isLocal": false, + "isAmbient": false, + "unverified": false + }, + { + "defId": 1, + "kind": "constructor", + "name": "__constructor", + "containerName": "Base", + "isLocal": false, + "isAmbient": false, + "unverified": false + } + ] \ No newline at end of file diff --git a/tests/baselines/reference/goToDefinitionConstructorOfClassExpression01.baseline.jsonc b/tests/baselines/reference/goToDefinitionConstructorOfClassExpression01.baseline.jsonc index c888ae3719bfc..7bb69d20e1ae9 100644 --- a/tests/baselines/reference/goToDefinitionConstructorOfClassExpression01.baseline.jsonc +++ b/tests/baselines/reference/goToDefinitionConstructorOfClassExpression01.baseline.jsonc @@ -1,14 +1,282 @@ // === goToDefinition === // === /tests/cases/fourslash/goToDefinitionConstructorOfClassExpression01.ts === -// var x = class C { -// [|constructor() { +// var x = <|class [|{| defId: 0 |}C|] { +// [|{| defId: 1 |}constructor() { // var other = new /*GOTO DEF*/C; // }|] +// }|> +// +// var y = class C extends x { +// constructor() { +// --- (line: 9) skipped --- + + // === Details === + [ + { + "defId": 0, + "kind": "local class", + "name": "C", + "containerName": "", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + }, + { + "defId": 1, + "kind": "constructor", + "name": "__constructor", + "containerName": "C", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + } + ] + + + +// === goToDefinition === +// === /tests/cases/fourslash/goToDefinitionConstructorOfClassExpression01.ts === +// --- (line: 3) skipped --- +// } +// } +// +// var y = <|class [|{| defId: 0 |}C|] extends x { +// [|{| defId: 1 |}constructor() { +// super(); +// var other = new /*GOTO DEF*/C; +// }|] +// }|> +// var z = class C extends x { +// m() { +// return new C; +// --- (line: 16) skipped --- + + // === Details === + [ + { + "defId": 0, + "kind": "local class", + "name": "C", + "containerName": "", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + }, + { + "defId": 1, + "kind": "constructor", + "name": "__constructor", + "containerName": "C", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + } + ] + + + +// === goToDefinition === +// === /tests/cases/fourslash/goToDefinitionConstructorOfClassExpression01.ts === +// var x = class C { +// [|{| defId: 1 |}constructor() { +// var other = new C; +// }|] +// } +// +// var y = class C extends x { +// constructor() { +// super(); +// var other = new C; +// } +// } +// var z = <|class [|{| defId: 0 |}C|] extends x { +// m() { +// return new /*GOTO DEF*/C; +// } +// }|> +// +// var x1 = new C(); +// var x2 = new x(); +// var y1 = new y(); +// var z1 = new z(); + + // === Details === + [ + { + "defId": 0, + "kind": "local class", + "name": "C", + "containerName": "", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + }, + { + "defId": 1, + "kind": "constructor", + "name": "__constructor", + "containerName": "C", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + } + ] + + + +// === goToDefinition === +// === /tests/cases/fourslash/goToDefinitionConstructorOfClassExpression01.ts === +// --- (line: 15) skipped --- +// } +// } +// +// var x1 = new /*GOTO DEF*/C(); +// var x2 = new x(); +// var y1 = new y(); +// var z1 = new z(); + + + +// === goToDefinition === +// === /tests/cases/fourslash/goToDefinitionConstructorOfClassExpression01.ts === +// <|var [|{| defId: 0 |}x|] = class C { +// [|{| defId: 1 |}constructor() { +// var other = new C; +// }|] +// }|> +// +// var y = class C extends x { +// constructor() { +// --- (line: 9) skipped --- + +// --- (line: 16) skipped --- // } +// +// var x1 = new C(); +// var x2 = new /*GOTO DEF*/x(); +// var y1 = new y(); +// var z1 = new z(); // === Details === [ { + "defId": 0, + "kind": "var", + "name": "x", + "containerName": "", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + }, + { + "defId": 1, + "kind": "constructor", + "name": "__constructor", + "containerName": "C", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + } + ] + + + +// === goToDefinition === +// === /tests/cases/fourslash/goToDefinitionConstructorOfClassExpression01.ts === +// --- (line: 3) skipped --- +// } +// } +// +// <|var [|{| defId: 0 |}y|] = class C extends x { +// [|{| defId: 1 |}constructor() { +// super(); +// var other = new C; +// }|] +// }|> +// var z = class C extends x { +// m() { +// return new C; +// } +// } +// +// var x1 = new C(); +// var x2 = new x(); +// var y1 = new /*GOTO DEF*/y(); +// var z1 = new z(); + + // === Details === + [ + { + "defId": 0, + "kind": "var", + "name": "y", + "containerName": "", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + }, + { + "defId": 1, + "kind": "constructor", + "name": "__constructor", + "containerName": "C", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + } + ] + + + +// === goToDefinition === +// === /tests/cases/fourslash/goToDefinitionConstructorOfClassExpression01.ts === +// var x = class C { +// [|{| defId: 1 |}constructor() { +// var other = new C; +// }|] +// } +// +// var y = class C extends x { +// constructor() { +// super(); +// var other = new C; +// } +// } +// <|var [|{| defId: 0 |}z|] = class C extends x { +// m() { +// return new C; +// } +// }|> +// +// var x1 = new C(); +// var x2 = new x(); +// var y1 = new y(); +// var z1 = new /*GOTO DEF*/z(); + + // === Details === + [ + { + "defId": 0, + "kind": "var", + "name": "z", + "containerName": "", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + }, + { + "defId": 1, "kind": "constructor", "name": "__constructor", "containerName": "C", diff --git a/tests/baselines/reference/goToDefinitionConstructorOfClassWhenClassIsPrecededByNamespace01.baseline.jsonc b/tests/baselines/reference/goToDefinitionConstructorOfClassWhenClassIsPrecededByNamespace01.baseline.jsonc index ddce59197c58c..d6bbd2049c3dc 100644 --- a/tests/baselines/reference/goToDefinitionConstructorOfClassWhenClassIsPrecededByNamespace01.baseline.jsonc +++ b/tests/baselines/reference/goToDefinitionConstructorOfClassWhenClassIsPrecededByNamespace01.baseline.jsonc @@ -4,16 +4,27 @@ // export var x; // } // -// class Foo { -// [|constructor() { +// <|class [|{| defId: 0 |}Foo|] { +// [|{| defId: 1 |}constructor() { // }|] -// } +// }|> // // var x = new /*GOTO DEF*/Foo(); // === Details === [ { + "defId": 0, + "kind": "class", + "name": "Foo", + "containerName": "", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + }, + { + "defId": 1, "kind": "constructor", "name": "__constructor", "containerName": "Foo", diff --git a/tests/baselines/reference/goToDefinitionConstructorOverloads.baseline.jsonc b/tests/baselines/reference/goToDefinitionConstructorOverloads.baseline.jsonc index 5b02b3f55a46a..0ac43a8742c05 100644 --- a/tests/baselines/reference/goToDefinitionConstructorOverloads.baseline.jsonc +++ b/tests/baselines/reference/goToDefinitionConstructorOverloads.baseline.jsonc @@ -1,17 +1,31 @@ // === goToDefinition === // === /tests/cases/fourslash/goToDefinitionConstructorOverloads.ts === -// class ConstructorOverload { -// [|constructor();|] +// <|class [|{| defId: 0 |}ConstructorOverload|] { +// [|{| defId: 1 |}constructor();|] // constructor(foo: string); // constructor(foo: any) { } -// } +// }|> // // var constructorOverload = new /*GOTO DEF*/ConstructorOverload(); // var constructorOverload = new ConstructorOverload("foo"); +// +// class Extended extends ConstructorOverload { +// --- (line: 11) skipped --- // === Details === [ { + "defId": 0, + "kind": "class", + "name": "ConstructorOverload", + "containerName": "", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + }, + { + "defId": 1, "kind": "constructor", "name": "__constructor", "containerName": "ConstructorOverload", @@ -26,18 +40,33 @@ // === goToDefinition === // === /tests/cases/fourslash/goToDefinitionConstructorOverloads.ts === -// class ConstructorOverload { +// <|class [|{| defId: 0 |}ConstructorOverload|] { // constructor(); -// [|constructor(foo: string);|] +// [|{| defId: 1 |}constructor(foo: string);|] // constructor(foo: any) { } -// } +// }|> // // var constructorOverload = new ConstructorOverload(); // var constructorOverload = new /*GOTO DEF*/ConstructorOverload("foo"); +// +// class Extended extends ConstructorOverload { +// readonly name = "extended"; +// --- (line: 12) skipped --- // === Details === [ { + "defId": 0, + "kind": "class", + "name": "ConstructorOverload", + "containerName": "", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + }, + { + "defId": 1, "kind": "constructor", "name": "__constructor", "containerName": "ConstructorOverload", @@ -59,7 +88,7 @@ // } // // var constructorOverload = new ConstructorOverload(); -// var constructorOverload = new ConstructorOverload("foo"); +// --- (line: 8) skipped --- // === Details === [ @@ -70,4 +99,90 @@ "isLocal": false, "isAmbient": false } + ] + + + +// === goToDefinition === +// === /tests/cases/fourslash/goToDefinitionConstructorOverloads.ts === +// class ConstructorOverload { +// [|{| defId: 1 |}constructor();|] +// constructor(foo: string); +// constructor(foo: any) { } +// } +// +// var constructorOverload = new ConstructorOverload(); +// var constructorOverload = new ConstructorOverload("foo"); +// +// <|class [|{| defId: 0 |}Extended|] extends ConstructorOverload { +// readonly name = "extended"; +// }|> +// var extended1 = new /*GOTO DEF*/Extended(); +// var extended2 = new Extended("foo"); + + // === Details === + [ + { + "defId": 0, + "kind": "class", + "name": "Extended", + "containerName": "", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + }, + { + "defId": 1, + "kind": "constructor", + "name": "__constructor", + "containerName": "ConstructorOverload", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + } + ] + + + +// === goToDefinition === +// === /tests/cases/fourslash/goToDefinitionConstructorOverloads.ts === +// class ConstructorOverload { +// constructor(); +// [|{| defId: 1 |}constructor(foo: string);|] +// constructor(foo: any) { } +// } +// +// var constructorOverload = new ConstructorOverload(); +// var constructorOverload = new ConstructorOverload("foo"); +// +// <|class [|{| defId: 0 |}Extended|] extends ConstructorOverload { +// readonly name = "extended"; +// }|> +// var extended1 = new Extended(); +// var extended2 = new /*GOTO DEF*/Extended("foo"); + + // === Details === + [ + { + "defId": 0, + "kind": "class", + "name": "Extended", + "containerName": "", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + }, + { + "defId": 1, + "kind": "constructor", + "name": "__constructor", + "containerName": "ConstructorOverload", + "isLocal": false, + "isAmbient": false, + "unverified": false, + "failedAliasResolution": false + } ] \ No newline at end of file diff --git a/tests/baselines/reference/reachabilityChecks1.errors.txt b/tests/baselines/reference/reachabilityChecks1.errors.txt index 7273652609490..d25977a05b774 100644 --- a/tests/baselines/reference/reachabilityChecks1.errors.txt +++ b/tests/baselines/reference/reachabilityChecks1.errors.txt @@ -3,9 +3,11 @@ reachabilityChecks1.ts(6,5): error TS7027: Unreachable code detected. reachabilityChecks1.ts(18,5): error TS7027: Unreachable code detected. reachabilityChecks1.ts(30,5): error TS7027: Unreachable code detected. reachabilityChecks1.ts(47,5): error TS7027: Unreachable code detected. +reachabilityChecks1.ts(60,5): error TS7027: Unreachable code detected. +reachabilityChecks1.ts(69,5): error TS7027: Unreachable code detected. -==== reachabilityChecks1.ts (5 errors) ==== +==== reachabilityChecks1.ts (7 errors) ==== while (true); var x = 1; ~~~~~~~~~~ @@ -81,8 +83,12 @@ reachabilityChecks1.ts(47,5): error TS7027: Unreachable code detected. do { } while (true); enum E { + ~~~~~~~~ X = 1 + ~~~~~~~~~~~~~ } + ~~~~~ +!!! error TS7027: Unreachable code detected. } function f4() { @@ -90,8 +96,12 @@ reachabilityChecks1.ts(47,5): error TS7027: Unreachable code detected. throw new Error(); } const enum E { + ~~~~~~~~~~~~~~ X = 1 + ~~~~~~~~~~~~~ } + ~~~~~ +!!! error TS7027: Unreachable code detected. } \ No newline at end of file diff --git a/tests/baselines/reference/reverseMappedIntersectionInference1.symbols b/tests/baselines/reference/reverseMappedIntersectionInference1.symbols new file mode 100644 index 0000000000000..93bf0ed99c21c --- /dev/null +++ b/tests/baselines/reference/reverseMappedIntersectionInference1.symbols @@ -0,0 +1,121 @@ +//// [tests/cases/compiler/reverseMappedIntersectionInference1.ts] //// + +=== reverseMappedIntersectionInference1.ts === +type Results = { +>Results : Symbol(Results, Decl(reverseMappedIntersectionInference1.ts, 0, 0)) +>T : Symbol(T, Decl(reverseMappedIntersectionInference1.ts, 0, 13)) + + [K in keyof T]: { +>K : Symbol(K, Decl(reverseMappedIntersectionInference1.ts, 1, 3)) +>T : Symbol(T, Decl(reverseMappedIntersectionInference1.ts, 0, 13)) + + data: T[K]; +>data : Symbol(data, Decl(reverseMappedIntersectionInference1.ts, 1, 19)) +>T : Symbol(T, Decl(reverseMappedIntersectionInference1.ts, 0, 13)) +>K : Symbol(K, Decl(reverseMappedIntersectionInference1.ts, 1, 3)) + + onSuccess: (data: T[K]) => void; +>onSuccess : Symbol(onSuccess, Decl(reverseMappedIntersectionInference1.ts, 2, 15)) +>data : Symbol(data, Decl(reverseMappedIntersectionInference1.ts, 3, 16)) +>T : Symbol(T, Decl(reverseMappedIntersectionInference1.ts, 0, 13)) +>K : Symbol(K, Decl(reverseMappedIntersectionInference1.ts, 1, 3)) + + }; +}; + +type Errors = { +>Errors : Symbol(Errors, Decl(reverseMappedIntersectionInference1.ts, 5, 2)) +>E : Symbol(E, Decl(reverseMappedIntersectionInference1.ts, 7, 12)) + + [K in keyof E]: { +>K : Symbol(K, Decl(reverseMappedIntersectionInference1.ts, 8, 3)) +>E : Symbol(E, Decl(reverseMappedIntersectionInference1.ts, 7, 12)) + + error: E[K]; +>error : Symbol(error, Decl(reverseMappedIntersectionInference1.ts, 8, 19)) +>E : Symbol(E, Decl(reverseMappedIntersectionInference1.ts, 7, 12)) +>K : Symbol(K, Decl(reverseMappedIntersectionInference1.ts, 8, 3)) + + onError: (data: E[K]) => void; +>onError : Symbol(onError, Decl(reverseMappedIntersectionInference1.ts, 9, 16)) +>data : Symbol(data, Decl(reverseMappedIntersectionInference1.ts, 10, 14)) +>E : Symbol(E, Decl(reverseMappedIntersectionInference1.ts, 7, 12)) +>K : Symbol(K, Decl(reverseMappedIntersectionInference1.ts, 8, 3)) + + }; +}; + +declare function withKeyedObj( +>withKeyedObj : Symbol(withKeyedObj, Decl(reverseMappedIntersectionInference1.ts, 12, 2)) +>T : Symbol(T, Decl(reverseMappedIntersectionInference1.ts, 14, 30)) +>E : Symbol(E, Decl(reverseMappedIntersectionInference1.ts, 14, 32)) + + arg: Results & Errors +>arg : Symbol(arg, Decl(reverseMappedIntersectionInference1.ts, 14, 36)) +>Results : Symbol(Results, Decl(reverseMappedIntersectionInference1.ts, 0, 0)) +>T : Symbol(T, Decl(reverseMappedIntersectionInference1.ts, 14, 30)) +>Errors : Symbol(Errors, Decl(reverseMappedIntersectionInference1.ts, 5, 2)) +>E : Symbol(E, Decl(reverseMappedIntersectionInference1.ts, 14, 32)) + +): [T, E]; +>T : Symbol(T, Decl(reverseMappedIntersectionInference1.ts, 14, 30)) +>E : Symbol(E, Decl(reverseMappedIntersectionInference1.ts, 14, 32)) + +const res = withKeyedObj({ +>res : Symbol(res, Decl(reverseMappedIntersectionInference1.ts, 18, 5)) +>withKeyedObj : Symbol(withKeyedObj, Decl(reverseMappedIntersectionInference1.ts, 12, 2)) + + a: { +>a : Symbol(a, Decl(reverseMappedIntersectionInference1.ts, 18, 26)) + + data: "foo", +>data : Symbol(data, Decl(reverseMappedIntersectionInference1.ts, 19, 6)) + + onSuccess: (dataArg) => { +>onSuccess : Symbol(onSuccess, Decl(reverseMappedIntersectionInference1.ts, 20, 16)) +>dataArg : Symbol(dataArg, Decl(reverseMappedIntersectionInference1.ts, 21, 16)) + + dataArg; +>dataArg : Symbol(dataArg, Decl(reverseMappedIntersectionInference1.ts, 21, 16)) + + }, + error: 404, +>error : Symbol(error, Decl(reverseMappedIntersectionInference1.ts, 23, 6)) + + onError: (errorArg) => { +>onError : Symbol(onError, Decl(reverseMappedIntersectionInference1.ts, 24, 15)) +>errorArg : Symbol(errorArg, Decl(reverseMappedIntersectionInference1.ts, 25, 14)) + + errorArg; +>errorArg : Symbol(errorArg, Decl(reverseMappedIntersectionInference1.ts, 25, 14)) + + }, + }, + b: { +>b : Symbol(b, Decl(reverseMappedIntersectionInference1.ts, 28, 4)) + + data: true, +>data : Symbol(data, Decl(reverseMappedIntersectionInference1.ts, 29, 6)) + + onSuccess: (dataArg) => { +>onSuccess : Symbol(onSuccess, Decl(reverseMappedIntersectionInference1.ts, 30, 15)) +>dataArg : Symbol(dataArg, Decl(reverseMappedIntersectionInference1.ts, 31, 16)) + + dataArg; +>dataArg : Symbol(dataArg, Decl(reverseMappedIntersectionInference1.ts, 31, 16)) + + }, + error: 500, +>error : Symbol(error, Decl(reverseMappedIntersectionInference1.ts, 33, 6)) + + onError: (errorArg) => { +>onError : Symbol(onError, Decl(reverseMappedIntersectionInference1.ts, 34, 15)) +>errorArg : Symbol(errorArg, Decl(reverseMappedIntersectionInference1.ts, 35, 14)) + + errorArg; +>errorArg : Symbol(errorArg, Decl(reverseMappedIntersectionInference1.ts, 35, 14)) + + }, + }, +}); + diff --git a/tests/baselines/reference/reverseMappedIntersectionInference1.types b/tests/baselines/reference/reverseMappedIntersectionInference1.types new file mode 100644 index 0000000000000..6e035116b03b3 --- /dev/null +++ b/tests/baselines/reference/reverseMappedIntersectionInference1.types @@ -0,0 +1,151 @@ +//// [tests/cases/compiler/reverseMappedIntersectionInference1.ts] //// + +=== reverseMappedIntersectionInference1.ts === +type Results = { +>Results : Results +> : ^^^^^^^^^^ + + [K in keyof T]: { + data: T[K]; +>data : T[K] +> : ^^^^ + + onSuccess: (data: T[K]) => void; +>onSuccess : (data: T[K]) => void +> : ^ ^^ ^^^^^ +>data : T[K] +> : ^^^^ + + }; +}; + +type Errors = { +>Errors : Errors +> : ^^^^^^^^^ + + [K in keyof E]: { + error: E[K]; +>error : E[K] +> : ^^^^ + + onError: (data: E[K]) => void; +>onError : (data: E[K]) => void +> : ^ ^^ ^^^^^ +>data : E[K] +> : ^^^^ + + }; +}; + +declare function withKeyedObj( +>withKeyedObj : (arg: Results & Errors) => [T, E] +> : ^ ^^ ^^ ^^ ^^^^^ + + arg: Results & Errors +>arg : Results & Errors +> : ^^^^^^^^^^^^^^^^^^^^^^ + +): [T, E]; + +const res = withKeyedObj({ +>res : [{ a: string; b: boolean; }, { a: number; b: number; }] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>withKeyedObj({ a: { data: "foo", onSuccess: (dataArg) => { dataArg; }, error: 404, onError: (errorArg) => { errorArg; }, }, b: { data: true, onSuccess: (dataArg) => { dataArg; }, error: 500, onError: (errorArg) => { errorArg; }, },}) : [{ a: string; b: boolean; }, { a: number; b: number; }] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>withKeyedObj : (arg: Results & Errors) => [T, E] +> : ^ ^^ ^^ ^^ ^^^^^ +>{ a: { data: "foo", onSuccess: (dataArg) => { dataArg; }, error: 404, onError: (errorArg) => { errorArg; }, }, b: { data: true, onSuccess: (dataArg) => { dataArg; }, error: 500, onError: (errorArg) => { errorArg; }, },} : { a: { data: string; onSuccess: (dataArg: string) => void; error: number; onError: (errorArg: number) => void; }; b: { data: true; onSuccess: (dataArg: boolean) => void; error: number; onError: (errorArg: number) => void; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ + + a: { +>a : { data: string; onSuccess: (dataArg: string) => void; error: number; onError: (errorArg: number) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +>{ data: "foo", onSuccess: (dataArg) => { dataArg; }, error: 404, onError: (errorArg) => { errorArg; }, } : { data: string; onSuccess: (dataArg: string) => void; error: number; onError: (errorArg: number) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ + + data: "foo", +>data : string +> : ^^^^^^ +>"foo" : "foo" +> : ^^^^^ + + onSuccess: (dataArg) => { +>onSuccess : (dataArg: string) => void +> : ^ ^^^^^^^^^^^^^^^^^ +>(dataArg) => { dataArg; } : (dataArg: string) => void +> : ^ ^^^^^^^^^^^^^^^^^ +>dataArg : string +> : ^^^^^^ + + dataArg; +>dataArg : string +> : ^^^^^^ + + }, + error: 404, +>error : number +> : ^^^^^^ +>404 : 404 +> : ^^^ + + onError: (errorArg) => { +>onError : (errorArg: number) => void +> : ^ ^^^^^^^^^^^^^^^^^ +>(errorArg) => { errorArg; } : (errorArg: number) => void +> : ^ ^^^^^^^^^^^^^^^^^ +>errorArg : number +> : ^^^^^^ + + errorArg; +>errorArg : number +> : ^^^^^^ + + }, + }, + b: { +>b : { data: true; onSuccess: (dataArg: boolean) => void; error: number; onError: (errorArg: number) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +>{ data: true, onSuccess: (dataArg) => { dataArg; }, error: 500, onError: (errorArg) => { errorArg; }, } : { data: true; onSuccess: (dataArg: boolean) => void; error: number; onError: (errorArg: number) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ + + data: true, +>data : true +> : ^^^^ +>true : true +> : ^^^^ + + onSuccess: (dataArg) => { +>onSuccess : (dataArg: boolean) => void +> : ^ ^^^^^^^^^^^^^^^^^^ +>(dataArg) => { dataArg; } : (dataArg: boolean) => void +> : ^ ^^^^^^^^^^^^^^^^^^ +>dataArg : boolean +> : ^^^^^^^ + + dataArg; +>dataArg : boolean +> : ^^^^^^^ + + }, + error: 500, +>error : number +> : ^^^^^^ +>500 : 500 +> : ^^^ + + onError: (errorArg) => { +>onError : (errorArg: number) => void +> : ^ ^^^^^^^^^^^^^^^^^ +>(errorArg) => { errorArg; } : (errorArg: number) => void +> : ^ ^^^^^^^^^^^^^^^^^ +>errorArg : number +> : ^^^^^^ + + errorArg; +>errorArg : number +> : ^^^^^^ + + }, + }, +}); + diff --git a/tests/baselines/reference/reverseMappedIntersectionInference2.symbols b/tests/baselines/reference/reverseMappedIntersectionInference2.symbols new file mode 100644 index 0000000000000..18e65a100da78 --- /dev/null +++ b/tests/baselines/reference/reverseMappedIntersectionInference2.symbols @@ -0,0 +1,118 @@ +//// [tests/cases/compiler/reverseMappedIntersectionInference2.ts] //// + +=== reverseMappedIntersectionInference2.ts === +type Results = { +>Results : Symbol(Results, Decl(reverseMappedIntersectionInference2.ts, 0, 0)) +>T : Symbol(T, Decl(reverseMappedIntersectionInference2.ts, 0, 13)) + + [K in keyof T]: { +>K : Symbol(K, Decl(reverseMappedIntersectionInference2.ts, 1, 3)) +>T : Symbol(T, Decl(reverseMappedIntersectionInference2.ts, 0, 13)) + + data: T[K]; +>data : Symbol(data, Decl(reverseMappedIntersectionInference2.ts, 1, 19)) +>T : Symbol(T, Decl(reverseMappedIntersectionInference2.ts, 0, 13)) +>K : Symbol(K, Decl(reverseMappedIntersectionInference2.ts, 1, 3)) + + onSuccess: (data: T[K]) => void; +>onSuccess : Symbol(onSuccess, Decl(reverseMappedIntersectionInference2.ts, 2, 15)) +>data : Symbol(data, Decl(reverseMappedIntersectionInference2.ts, 3, 16)) +>T : Symbol(T, Decl(reverseMappedIntersectionInference2.ts, 0, 13)) +>K : Symbol(K, Decl(reverseMappedIntersectionInference2.ts, 1, 3)) + + }; +}; + +type Errors = { +>Errors : Symbol(Errors, Decl(reverseMappedIntersectionInference2.ts, 5, 2)) +>E : Symbol(E, Decl(reverseMappedIntersectionInference2.ts, 7, 12)) + + [K in keyof E]: { +>K : Symbol(K, Decl(reverseMappedIntersectionInference2.ts, 8, 3)) +>E : Symbol(E, Decl(reverseMappedIntersectionInference2.ts, 7, 12)) + + error: E[K]; +>error : Symbol(error, Decl(reverseMappedIntersectionInference2.ts, 8, 19)) +>E : Symbol(E, Decl(reverseMappedIntersectionInference2.ts, 7, 12)) +>K : Symbol(K, Decl(reverseMappedIntersectionInference2.ts, 8, 3)) + + onError: (data: E[K]) => void; +>onError : Symbol(onError, Decl(reverseMappedIntersectionInference2.ts, 9, 16)) +>data : Symbol(data, Decl(reverseMappedIntersectionInference2.ts, 10, 14)) +>E : Symbol(E, Decl(reverseMappedIntersectionInference2.ts, 7, 12)) +>K : Symbol(K, Decl(reverseMappedIntersectionInference2.ts, 8, 3)) + + }; +}; + +declare function withTupleLike( +>withTupleLike : Symbol(withTupleLike, Decl(reverseMappedIntersectionInference2.ts, 12, 2)) +>T : Symbol(T, Decl(reverseMappedIntersectionInference2.ts, 14, 31)) +>0 : Symbol(0, Decl(reverseMappedIntersectionInference2.ts, 14, 42)) +>E : Symbol(E, Decl(reverseMappedIntersectionInference2.ts, 14, 56)) +>0 : Symbol(0, Decl(reverseMappedIntersectionInference2.ts, 14, 68)) + + arg: Results & Errors +>arg : Symbol(arg, Decl(reverseMappedIntersectionInference2.ts, 14, 83)) +>Results : Symbol(Results, Decl(reverseMappedIntersectionInference2.ts, 0, 0)) +>T : Symbol(T, Decl(reverseMappedIntersectionInference2.ts, 14, 31)) +>Errors : Symbol(Errors, Decl(reverseMappedIntersectionInference2.ts, 5, 2)) +>E : Symbol(E, Decl(reverseMappedIntersectionInference2.ts, 14, 56)) + +): [T, E]; +>T : Symbol(T, Decl(reverseMappedIntersectionInference2.ts, 14, 31)) +>E : Symbol(E, Decl(reverseMappedIntersectionInference2.ts, 14, 56)) + +const res = withTupleLike([ +>res : Symbol(res, Decl(reverseMappedIntersectionInference2.ts, 18, 5)) +>withTupleLike : Symbol(withTupleLike, Decl(reverseMappedIntersectionInference2.ts, 12, 2)) + { + data: "foo", +>data : Symbol(data, Decl(reverseMappedIntersectionInference2.ts, 19, 3)) + + onSuccess: (dataArg) => { +>onSuccess : Symbol(onSuccess, Decl(reverseMappedIntersectionInference2.ts, 20, 16)) +>dataArg : Symbol(dataArg, Decl(reverseMappedIntersectionInference2.ts, 21, 16)) + + dataArg; +>dataArg : Symbol(dataArg, Decl(reverseMappedIntersectionInference2.ts, 21, 16)) + + }, + error: 404, +>error : Symbol(error, Decl(reverseMappedIntersectionInference2.ts, 23, 6)) + + onError: (errorArg) => { +>onError : Symbol(onError, Decl(reverseMappedIntersectionInference2.ts, 24, 15)) +>errorArg : Symbol(errorArg, Decl(reverseMappedIntersectionInference2.ts, 25, 14)) + + errorArg; +>errorArg : Symbol(errorArg, Decl(reverseMappedIntersectionInference2.ts, 25, 14)) + + }, + }, + { + data: true, +>data : Symbol(data, Decl(reverseMappedIntersectionInference2.ts, 29, 3)) + + onSuccess: (dataArg) => { +>onSuccess : Symbol(onSuccess, Decl(reverseMappedIntersectionInference2.ts, 30, 15)) +>dataArg : Symbol(dataArg, Decl(reverseMappedIntersectionInference2.ts, 31, 16)) + + dataArg; +>dataArg : Symbol(dataArg, Decl(reverseMappedIntersectionInference2.ts, 31, 16)) + + }, + error: 500, +>error : Symbol(error, Decl(reverseMappedIntersectionInference2.ts, 33, 6)) + + onError: (errorArg) => { +>onError : Symbol(onError, Decl(reverseMappedIntersectionInference2.ts, 34, 15)) +>errorArg : Symbol(errorArg, Decl(reverseMappedIntersectionInference2.ts, 35, 14)) + + errorArg; +>errorArg : Symbol(errorArg, Decl(reverseMappedIntersectionInference2.ts, 35, 14)) + + }, + }, +]); + diff --git a/tests/baselines/reference/reverseMappedIntersectionInference2.types b/tests/baselines/reference/reverseMappedIntersectionInference2.types new file mode 100644 index 0000000000000..4f5aa9e4d7d8d --- /dev/null +++ b/tests/baselines/reference/reverseMappedIntersectionInference2.types @@ -0,0 +1,150 @@ +//// [tests/cases/compiler/reverseMappedIntersectionInference2.ts] //// + +=== reverseMappedIntersectionInference2.ts === +type Results = { +>Results : Results +> : ^^^^^^^^^^ + + [K in keyof T]: { + data: T[K]; +>data : T[K] +> : ^^^^ + + onSuccess: (data: T[K]) => void; +>onSuccess : (data: T[K]) => void +> : ^ ^^ ^^^^^ +>data : T[K] +> : ^^^^ + + }; +}; + +type Errors = { +>Errors : Errors +> : ^^^^^^^^^ + + [K in keyof E]: { + error: E[K]; +>error : E[K] +> : ^^^^ + + onError: (data: E[K]) => void; +>onError : (data: E[K]) => void +> : ^ ^^ ^^^^^ +>data : E[K] +> : ^^^^ + + }; +}; + +declare function withTupleLike( +>withTupleLike : (arg: Results & Errors) => [T, E] +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>0 : unknown +> : ^^^^^^^ +>0 : unknown +> : ^^^^^^^ + + arg: Results & Errors +>arg : Results & Errors +> : ^^^^^^^^^^^^^^^^^^^^^^ + +): [T, E]; + +const res = withTupleLike([ +>res : [[string, boolean], [number, number]] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>withTupleLike([ { data: "foo", onSuccess: (dataArg) => { dataArg; }, error: 404, onError: (errorArg) => { errorArg; }, }, { data: true, onSuccess: (dataArg) => { dataArg; }, error: 500, onError: (errorArg) => { errorArg; }, },]) : [[string, boolean], [number, number]] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>withTupleLike : (arg: Results & Errors) => [T, E] +> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ +>[ { data: "foo", onSuccess: (dataArg) => { dataArg; }, error: 404, onError: (errorArg) => { errorArg; }, }, { data: true, onSuccess: (dataArg) => { dataArg; }, error: 500, onError: (errorArg) => { errorArg; }, },] : [{ data: string; onSuccess: (dataArg: string) => void; error: number; onError: (errorArg: number) => void; }, { data: true; onSuccess: (dataArg: boolean) => void; error: number; onError: (errorArg: number) => void; }] +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ + { +>{ data: "foo", onSuccess: (dataArg) => { dataArg; }, error: 404, onError: (errorArg) => { errorArg; }, } : { data: string; onSuccess: (dataArg: string) => void; error: number; onError: (errorArg: number) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ + + data: "foo", +>data : string +> : ^^^^^^ +>"foo" : "foo" +> : ^^^^^ + + onSuccess: (dataArg) => { +>onSuccess : (dataArg: string) => void +> : ^ ^^^^^^^^^^^^^^^^^ +>(dataArg) => { dataArg; } : (dataArg: string) => void +> : ^ ^^^^^^^^^^^^^^^^^ +>dataArg : string +> : ^^^^^^ + + dataArg; +>dataArg : string +> : ^^^^^^ + + }, + error: 404, +>error : number +> : ^^^^^^ +>404 : 404 +> : ^^^ + + onError: (errorArg) => { +>onError : (errorArg: number) => void +> : ^ ^^^^^^^^^^^^^^^^^ +>(errorArg) => { errorArg; } : (errorArg: number) => void +> : ^ ^^^^^^^^^^^^^^^^^ +>errorArg : number +> : ^^^^^^ + + errorArg; +>errorArg : number +> : ^^^^^^ + + }, + }, + { +>{ data: true, onSuccess: (dataArg) => { dataArg; }, error: 500, onError: (errorArg) => { errorArg; }, } : { data: true; onSuccess: (dataArg: boolean) => void; error: number; onError: (errorArg: number) => void; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ + + data: true, +>data : true +> : ^^^^ +>true : true +> : ^^^^ + + onSuccess: (dataArg) => { +>onSuccess : (dataArg: boolean) => void +> : ^ ^^^^^^^^^^^^^^^^^^ +>(dataArg) => { dataArg; } : (dataArg: boolean) => void +> : ^ ^^^^^^^^^^^^^^^^^^ +>dataArg : boolean +> : ^^^^^^^ + + dataArg; +>dataArg : boolean +> : ^^^^^^^ + + }, + error: 500, +>error : number +> : ^^^^^^ +>500 : 500 +> : ^^^ + + onError: (errorArg) => { +>onError : (errorArg: number) => void +> : ^ ^^^^^^^^^^^^^^^^^ +>(errorArg) => { errorArg; } : (errorArg: number) => void +> : ^ ^^^^^^^^^^^^^^^^^ +>errorArg : number +> : ^^^^^^ + + errorArg; +>errorArg : number +> : ^^^^^^ + + }, + }, +]); + diff --git a/tests/baselines/reference/transpile/Supports setting declarationMap (verbatimModuleSyntax=true).js b/tests/baselines/reference/transpile/Supports setting declarationMap (verbatimModuleSyntax=true).js new file mode 100644 index 0000000000000..8394371f9081a --- /dev/null +++ b/tests/baselines/reference/transpile/Supports setting declarationMap (verbatimModuleSyntax=true).js @@ -0,0 +1,2 @@ +x; +//# sourceMappingURL=input.js.map \ No newline at end of file diff --git a/tests/baselines/reference/transpile/Supports setting declarationMap (verbatimModuleSyntax=true).oldTranspile.js b/tests/baselines/reference/transpile/Supports setting declarationMap (verbatimModuleSyntax=true).oldTranspile.js new file mode 100644 index 0000000000000..8394371f9081a --- /dev/null +++ b/tests/baselines/reference/transpile/Supports setting declarationMap (verbatimModuleSyntax=true).oldTranspile.js @@ -0,0 +1,2 @@ +x; +//# sourceMappingURL=input.js.map \ No newline at end of file diff --git a/tests/baselines/reference/transpile/Supports setting declarationMap.js b/tests/baselines/reference/transpile/Supports setting declarationMap.js new file mode 100644 index 0000000000000..8394371f9081a --- /dev/null +++ b/tests/baselines/reference/transpile/Supports setting declarationMap.js @@ -0,0 +1,2 @@ +x; +//# sourceMappingURL=input.js.map \ No newline at end of file diff --git a/tests/baselines/reference/transpile/Supports setting declarationMap.oldTranspile.js b/tests/baselines/reference/transpile/Supports setting declarationMap.oldTranspile.js new file mode 100644 index 0000000000000..8394371f9081a --- /dev/null +++ b/tests/baselines/reference/transpile/Supports setting declarationMap.oldTranspile.js @@ -0,0 +1,2 @@ +x; +//# sourceMappingURL=input.js.map \ No newline at end of file diff --git a/tests/baselines/reference/tsbuild/sample1/skips-builds-downstream-projects-if-upstream-projects-have-errors-with-stopBuildOnErrors-when-test-does-not-reference-core.js b/tests/baselines/reference/tsbuild/sample1/skips-builds-downstream-projects-if-upstream-projects-have-errors-with-stopBuildOnErrors-when-test-does-not-reference-core.js new file mode 100644 index 0000000000000..4aea56338cca0 --- /dev/null +++ b/tests/baselines/reference/tsbuild/sample1/skips-builds-downstream-projects-if-upstream-projects-have-errors-with-stopBuildOnErrors-when-test-does-not-reference-core.js @@ -0,0 +1,602 @@ +currentDirectory:: /user/username/projects/sample1 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/sample1/core/anotherModule.ts] +export const World = "hello"; + +//// [/user/username/projects/sample1/core/index.ts] +export const someString: string = "HELLO WORLD"; +export function leftPad(s: string, n: number) { return s + n; } +export function multiply(a: number, b: number) { return a * b; } +multiply(); + +//// [/user/username/projects/sample1/core/some_decl.d.ts] +declare const dts: any; + +//// [/user/username/projects/sample1/core/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true + } +} + +//// [/user/username/projects/sample1/logic/index.ts] +import * as c from '../core/index'; +export function getSecondsInDay() { + return c.multiply(10, 15); +} +import * as mod from '../core/anotherModule'; +export const m = mod; + + +//// [/user/username/projects/sample1/logic/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "declaration": true, + "sourceMap": true, + "forceConsistentCasingInFileNames": true, + "skipDefaultLibCheck": true + }, + "references": [ + { + "path": "../core" + } + ] +} + +//// [/user/username/projects/sample1/tests/index.ts] +import * as c from '../core/index'; +import * as logic from '../logic/index'; + +c.leftPad("", 10); +logic.getSecondsInDay(); + +import * as mod from '../core/anotherModule'; +export const m = mod; + + +//// [/user/username/projects/sample1/tests/tsconfig.json] +{ + "references": [ + { + "path": "../logic" + } + ], + "files": [ + "index.ts" + ], + "compilerOptions": { + "composite": true, + "declaration": true, + "forceConsistentCasingInFileNames": true, + "skipDefaultLibCheck": true + } +} + + + +Output:: +/a/lib/tsc --b tests --verbose --stopBuildOnErrors +[HH:MM:SS AM] Projects in this build: + * core/tsconfig.json + * logic/tsconfig.json + * tests/tsconfig.json + +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... + +core/index.ts:4:1 - error TS2554: Expected 2 arguments, but got 0. + +4 multiply(); +  ~~~~~~~~ + + core/index.ts:3:26 + 3 export function multiply(a: number, b: number) { return a * b; } +    ~~~~~~~~~ + An argument for 'a' was not provided. + +[HH:MM:SS AM] Project 'logic/tsconfig.json' can't be built because its dependency '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 + +[HH:MM:SS AM] Project 'tests/tsconfig.json' can't be built because its dependency 'logic' was not built + +[HH:MM:SS AM] Skipping build of project '/user/username/projects/sample1/tests/tsconfig.json' because its dependency '/user/username/projects/sample1/logic' was not built + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + +//// [/user/username/projects/sample1/core/anotherModule.d.ts] +export declare const World = "hello"; +//# sourceMappingURL=anotherModule.d.ts.map + +//// [/user/username/projects/sample1/core/anotherModule.d.ts.map] +{"version":3,"file":"anotherModule.d.ts","sourceRoot":"","sources":["anotherModule.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,UAAU,CAAC"} + +//// [/user/username/projects/sample1/core/anotherModule.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.World = void 0; +exports.World = "hello"; + + +//// [/user/username/projects/sample1/core/index.d.ts] +export declare const someString: string; +export declare function leftPad(s: string, n: number): string; +export declare function multiply(a: number, b: number): number; +//# sourceMappingURL=index.d.ts.map + +//// [/user/username/projects/sample1/core/index.d.ts.map] +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAsB,CAAC;AAChD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAAmB;AAC/D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAAmB"} + +//// [/user/username/projects/sample1/core/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.someString = void 0; +exports.leftPad = leftPad; +exports.multiply = multiply; +exports.someString = "HELLO WORLD"; +function leftPad(s, n) { return s + n; } +function multiply(a, b) { return a * b; } +multiply(); + + +//// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] +{"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},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n"},{"version":"-12887218413-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\nmultiply();","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"},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"semanticDiagnosticsPerFile":[[3,[{"start":178,"length":8,"messageText":"Expected 2 arguments, but got 0.","category":1,"code":2554,"relatedInformation":[{"start":138,"length":9,"messageText":"An argument for 'a' was not provided.","category":3,"code":6210}]}]]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} + +//// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "./anothermodule.ts", + "./index.ts", + "./some_decl.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 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\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 + }, + "./anothermodule.ts": { + "original": { + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "./index.ts": { + "original": { + "version": "-12887218413-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\nmultiply();", + "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" + }, + "version": "-12887218413-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\nmultiply();", + "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" + }, + "./some_decl.d.ts": { + "original": { + "version": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + }, + "version": "-7959511260-declare const dts: any;", + "signature": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./anothermodule.ts", + "./index.ts", + "./some_decl.d.ts" + ] + ] + ], + "options": { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true + }, + "semanticDiagnosticsPerFile": [ + [ + "./index.ts", + [ + { + "start": 178, + "length": 8, + "messageText": "Expected 2 arguments, but got 0.", + "category": 1, + "code": 2554, + "relatedInformation": [ + { + "start": 138, + "length": 9, + "messageText": "An argument for 'a' was not provided.", + "category": 3, + "code": 6210 + } + ] + } + ] + ] + ], + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1654 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b tests --verbose --stopBuildOnErrors +[HH:MM:SS AM] Projects in this build: + * core/tsconfig.json + * logic/tsconfig.json + * tests/tsconfig.json + +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because buildinfo file 'core/tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... + +core/index.ts:4:1 - error TS2554: Expected 2 arguments, but got 0. + +4 multiply(); +  ~~~~~~~~ + + core/index.ts:3:26 + 3 export function multiply(a: number, b: number) { return a * b; } +    ~~~~~~~~~ + An argument for 'a' was not provided. + +[HH:MM:SS AM] Project 'logic/tsconfig.json' can't be built because its dependency '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 + +[HH:MM:SS AM] Project 'tests/tsconfig.json' can't be built because its dependency 'logic' was not built + +[HH:MM:SS AM] Skipping build of project '/user/username/projects/sample1/tests/tsconfig.json' because its dependency '/user/username/projects/sample1/logic' was not built + + +Found 1 error. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: fix error +Input:: +//// [/user/username/projects/sample1/core/index.ts] +export const someString: string = "HELLO WORLD"; +export function leftPad(s: string, n: number) { return s + n; } +export function multiply(a: number, b: number) { return a * b; } + + + + +Output:: +/a/lib/tsc --b tests --verbose --stopBuildOnErrors +[HH:MM:SS AM] Projects in this build: + * core/tsconfig.json + * logic/tsconfig.json + * tests/tsconfig.json + +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because buildinfo file 'core/tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... + +[HH:MM:SS AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... + +[HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output file 'tests/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... + +exitCode:: ExitStatus.Success + + +//// [/user/username/projects/sample1/core/index.d.ts.map] file written with same contents +//// [/user/username/projects/sample1/core/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.someString = void 0; +exports.leftPad = leftPad; +exports.multiply = multiply; +exports.someString = "HELLO WORLD"; +function leftPad(s, n) { return s + n; } +function multiply(a, b) { return a * b; } + + +//// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] +{"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},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n"},{"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"},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true}],"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] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "./anothermodule.ts", + "./index.ts", + "./some_decl.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 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\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 + }, + "./anothermodule.ts": { + "original": { + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "./index.ts": { + "original": { + "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" + }, + "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" + }, + "./some_decl.d.ts": { + "original": { + "version": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + }, + "version": "-7959511260-declare const dts: any;", + "signature": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./anothermodule.ts", + "./index.ts", + "./some_decl.d.ts" + ] + ] + ], + "options": { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true + }, + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1380 +} + +//// [/user/username/projects/sample1/logic/index.d.ts] +export declare function getSecondsInDay(): number; +import * as mod from '../core/anotherModule'; +export declare const m: typeof mod; + + +//// [/user/username/projects/sample1/logic/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.m = void 0; +exports.getSecondsInDay = getSecondsInDay; +var c = require("../core/index"); +function getSecondsInDay() { + return c.multiply(10, 15); +} +var mod = require("../core/anotherModule"); +exports.m = mod; +//# sourceMappingURL=index.js.map + +//// [/user/username/projects/sample1/logic/index.js.map] +{"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] +{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","-9234818176-export declare const World = \"hello\";\n",{"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"}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} + +//// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "./index.ts" + ], + "fileIdsList": [ + [ + "../core/index.d.ts", + "../core/anothermodule.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 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\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 + }, + "../core/index.d.ts": { + "version": "-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\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" + }, + "../core/anothermodule.d.ts": { + "version": "-9234818176-export declare const World = \"hello\";\n", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "./index.ts": { + "original": { + "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" + }, + "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" + } + }, + "root": [ + [ + 4, + "./index.ts" + ] + ], + "options": { + "composite": true, + "declaration": true, + "skipDefaultLibCheck": true, + "sourceMap": true + }, + "referencedMap": { + "./index.ts": [ + "../core/index.d.ts", + "../core/anothermodule.d.ts" + ] + }, + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1427 +} + +//// [/user/username/projects/sample1/tests/index.d.ts] +import * as mod from '../core/anotherModule'; +export declare const m: typeof mod; + + +//// [/user/username/projects/sample1/tests/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.m = void 0; +var c = require("../core/index"); +var logic = require("../logic/index"); +c.leftPad("", 10); +logic.getSecondsInDay(); +var mod = require("../core/anotherModule"); +exports.m = mod; + + +//// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] +{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileIdsList":[[3],[2,3,4]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","-9234818176-export declare const World = \"hello\";\n","-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n",{"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"}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} + +//// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "../logic/index.d.ts", + "./index.ts" + ], + "fileIdsList": [ + [ + "../core/anothermodule.d.ts" + ], + [ + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "../logic/index.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 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\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 + }, + "../core/index.d.ts": { + "version": "-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\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" + }, + "../core/anothermodule.d.ts": { + "version": "-9234818176-export declare const World = \"hello\";\n", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "../logic/index.d.ts": { + "version": "-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n", + "signature": "-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n" + }, + "./index.ts": { + "original": { + "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" + }, + "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" + } + }, + "root": [ + [ + 5, + "./index.ts" + ] + ], + "options": { + "composite": true, + "declaration": true, + "skipDefaultLibCheck": true + }, + "referencedMap": { + "../logic/index.d.ts": [ + "../core/anothermodule.d.ts" + ], + "./index.ts": [ + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "../logic/index.d.ts" + ] + }, + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1565 +} + diff --git a/tests/baselines/reference/tsbuild/sample1/skips-builds-downstream-projects-if-upstream-projects-have-errors-with-stopBuildOnErrors.js b/tests/baselines/reference/tsbuild/sample1/skips-builds-downstream-projects-if-upstream-projects-have-errors-with-stopBuildOnErrors.js new file mode 100644 index 0000000000000..8f0a3da4d677c --- /dev/null +++ b/tests/baselines/reference/tsbuild/sample1/skips-builds-downstream-projects-if-upstream-projects-have-errors-with-stopBuildOnErrors.js @@ -0,0 +1,605 @@ +currentDirectory:: /user/username/projects/sample1 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/sample1/core/anotherModule.ts] +export const World = "hello"; + +//// [/user/username/projects/sample1/core/index.ts] +export const someString: string = "HELLO WORLD"; +export function leftPad(s: string, n: number) { return s + n; } +export function multiply(a: number, b: number) { return a * b; } +multiply(); + +//// [/user/username/projects/sample1/core/some_decl.d.ts] +declare const dts: any; + +//// [/user/username/projects/sample1/core/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true + } +} + +//// [/user/username/projects/sample1/logic/index.ts] +import * as c from '../core/index'; +export function getSecondsInDay() { + return c.multiply(10, 15); +} +import * as mod from '../core/anotherModule'; +export const m = mod; + + +//// [/user/username/projects/sample1/logic/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "declaration": true, + "sourceMap": true, + "forceConsistentCasingInFileNames": true, + "skipDefaultLibCheck": true + }, + "references": [ + { + "path": "../core" + } + ] +} + +//// [/user/username/projects/sample1/tests/index.ts] +import * as c from '../core/index'; +import * as logic from '../logic/index'; + +c.leftPad("", 10); +logic.getSecondsInDay(); + +import * as mod from '../core/anotherModule'; +export const m = mod; + + +//// [/user/username/projects/sample1/tests/tsconfig.json] +{ + "references": [ + { + "path": "../core" + }, + { + "path": "../logic" + } + ], + "files": [ + "index.ts" + ], + "compilerOptions": { + "composite": true, + "declaration": true, + "forceConsistentCasingInFileNames": true, + "skipDefaultLibCheck": true + } +} + + + +Output:: +/a/lib/tsc --b tests --verbose --stopBuildOnErrors +[HH:MM:SS AM] Projects in this build: + * core/tsconfig.json + * logic/tsconfig.json + * tests/tsconfig.json + +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... + +core/index.ts:4:1 - error TS2554: Expected 2 arguments, but got 0. + +4 multiply(); +  ~~~~~~~~ + + core/index.ts:3:26 + 3 export function multiply(a: number, b: number) { return a * b; } +    ~~~~~~~~~ + An argument for 'a' was not provided. + +[HH:MM:SS AM] Project 'logic/tsconfig.json' can't be built because its dependency '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 + +[HH:MM:SS AM] Project 'tests/tsconfig.json' can't be built because its dependency '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. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + +//// [/user/username/projects/sample1/core/anotherModule.d.ts] +export declare const World = "hello"; +//# sourceMappingURL=anotherModule.d.ts.map + +//// [/user/username/projects/sample1/core/anotherModule.d.ts.map] +{"version":3,"file":"anotherModule.d.ts","sourceRoot":"","sources":["anotherModule.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,UAAU,CAAC"} + +//// [/user/username/projects/sample1/core/anotherModule.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.World = void 0; +exports.World = "hello"; + + +//// [/user/username/projects/sample1/core/index.d.ts] +export declare const someString: string; +export declare function leftPad(s: string, n: number): string; +export declare function multiply(a: number, b: number): number; +//# sourceMappingURL=index.d.ts.map + +//// [/user/username/projects/sample1/core/index.d.ts.map] +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAsB,CAAC;AAChD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAAmB;AAC/D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAAmB"} + +//// [/user/username/projects/sample1/core/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.someString = void 0; +exports.leftPad = leftPad; +exports.multiply = multiply; +exports.someString = "HELLO WORLD"; +function leftPad(s, n) { return s + n; } +function multiply(a, b) { return a * b; } +multiply(); + + +//// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] +{"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},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n"},{"version":"-12887218413-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\nmultiply();","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"},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"semanticDiagnosticsPerFile":[[3,[{"start":178,"length":8,"messageText":"Expected 2 arguments, but got 0.","category":1,"code":2554,"relatedInformation":[{"start":138,"length":9,"messageText":"An argument for 'a' was not provided.","category":3,"code":6210}]}]]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} + +//// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "./anothermodule.ts", + "./index.ts", + "./some_decl.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 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\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 + }, + "./anothermodule.ts": { + "original": { + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "./index.ts": { + "original": { + "version": "-12887218413-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\nmultiply();", + "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" + }, + "version": "-12887218413-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\nmultiply();", + "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" + }, + "./some_decl.d.ts": { + "original": { + "version": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + }, + "version": "-7959511260-declare const dts: any;", + "signature": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./anothermodule.ts", + "./index.ts", + "./some_decl.d.ts" + ] + ] + ], + "options": { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true + }, + "semanticDiagnosticsPerFile": [ + [ + "./index.ts", + [ + { + "start": 178, + "length": 8, + "messageText": "Expected 2 arguments, but got 0.", + "category": 1, + "code": 2554, + "relatedInformation": [ + { + "start": 138, + "length": 9, + "messageText": "An argument for 'a' was not provided.", + "category": 3, + "code": 6210 + } + ] + } + ] + ] + ], + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1654 +} + + + +Change:: no-change-run +Input:: + + +Output:: +/a/lib/tsc --b tests --verbose --stopBuildOnErrors +[HH:MM:SS AM] Projects in this build: + * core/tsconfig.json + * logic/tsconfig.json + * tests/tsconfig.json + +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because buildinfo file 'core/tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... + +core/index.ts:4:1 - error TS2554: Expected 2 arguments, but got 0. + +4 multiply(); +  ~~~~~~~~ + + core/index.ts:3:26 + 3 export function multiply(a: number, b: number) { return a * b; } +    ~~~~~~~~~ + An argument for 'a' was not provided. + +[HH:MM:SS AM] Project 'logic/tsconfig.json' can't be built because its dependency '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 + +[HH:MM:SS AM] Project 'tests/tsconfig.json' can't be built because its dependency '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. + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped + + + + +Change:: fix error +Input:: +//// [/user/username/projects/sample1/core/index.ts] +export const someString: string = "HELLO WORLD"; +export function leftPad(s: string, n: number) { return s + n; } +export function multiply(a: number, b: number) { return a * b; } + + + + +Output:: +/a/lib/tsc --b tests --verbose --stopBuildOnErrors +[HH:MM:SS AM] Projects in this build: + * core/tsconfig.json + * logic/tsconfig.json + * tests/tsconfig.json + +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because buildinfo file 'core/tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... + +[HH:MM:SS AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... + +[HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output file 'tests/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... + +exitCode:: ExitStatus.Success + + +//// [/user/username/projects/sample1/core/index.d.ts.map] file written with same contents +//// [/user/username/projects/sample1/core/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.someString = void 0; +exports.leftPad = leftPad; +exports.multiply = multiply; +exports.someString = "HELLO WORLD"; +function leftPad(s, n) { return s + n; } +function multiply(a, b) { return a * b; } + + +//// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] +{"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},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n"},{"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"},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true}],"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] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "./anothermodule.ts", + "./index.ts", + "./some_decl.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 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\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 + }, + "./anothermodule.ts": { + "original": { + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "./index.ts": { + "original": { + "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" + }, + "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" + }, + "./some_decl.d.ts": { + "original": { + "version": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + }, + "version": "-7959511260-declare const dts: any;", + "signature": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./anothermodule.ts", + "./index.ts", + "./some_decl.d.ts" + ] + ] + ], + "options": { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true + }, + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1380 +} + +//// [/user/username/projects/sample1/logic/index.d.ts] +export declare function getSecondsInDay(): number; +import * as mod from '../core/anotherModule'; +export declare const m: typeof mod; + + +//// [/user/username/projects/sample1/logic/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.m = void 0; +exports.getSecondsInDay = getSecondsInDay; +var c = require("../core/index"); +function getSecondsInDay() { + return c.multiply(10, 15); +} +var mod = require("../core/anotherModule"); +exports.m = mod; +//# sourceMappingURL=index.js.map + +//// [/user/username/projects/sample1/logic/index.js.map] +{"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] +{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","-9234818176-export declare const World = \"hello\";\n",{"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"}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} + +//// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "./index.ts" + ], + "fileIdsList": [ + [ + "../core/index.d.ts", + "../core/anothermodule.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 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\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 + }, + "../core/index.d.ts": { + "version": "-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\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" + }, + "../core/anothermodule.d.ts": { + "version": "-9234818176-export declare const World = \"hello\";\n", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "./index.ts": { + "original": { + "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" + }, + "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" + } + }, + "root": [ + [ + 4, + "./index.ts" + ] + ], + "options": { + "composite": true, + "declaration": true, + "skipDefaultLibCheck": true, + "sourceMap": true + }, + "referencedMap": { + "./index.ts": [ + "../core/index.d.ts", + "../core/anothermodule.d.ts" + ] + }, + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1427 +} + +//// [/user/username/projects/sample1/tests/index.d.ts] +import * as mod from '../core/anotherModule'; +export declare const m: typeof mod; + + +//// [/user/username/projects/sample1/tests/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.m = void 0; +var c = require("../core/index"); +var logic = require("../logic/index"); +c.leftPad("", 10); +logic.getSecondsInDay(); +var mod = require("../core/anotherModule"); +exports.m = mod; + + +//// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] +{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileIdsList":[[3],[2,3,4]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","-9234818176-export declare const World = \"hello\";\n","-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n",{"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"}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} + +//// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "../logic/index.d.ts", + "./index.ts" + ], + "fileIdsList": [ + [ + "../core/anothermodule.d.ts" + ], + [ + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "../logic/index.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 + }, + "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\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 + }, + "../core/index.d.ts": { + "version": "-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\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" + }, + "../core/anothermodule.d.ts": { + "version": "-9234818176-export declare const World = \"hello\";\n", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "../logic/index.d.ts": { + "version": "-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n", + "signature": "-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n" + }, + "./index.ts": { + "original": { + "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" + }, + "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" + } + }, + "root": [ + [ + 5, + "./index.ts" + ] + ], + "options": { + "composite": true, + "declaration": true, + "skipDefaultLibCheck": true + }, + "referencedMap": { + "../logic/index.d.ts": [ + "../core/anothermodule.d.ts" + ], + "./index.ts": [ + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "../logic/index.d.ts" + ] + }, + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1565 +} + diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/when-stopBuildOnErrors-is-passed-on-command-line.js b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/when-stopBuildOnErrors-is-passed-on-command-line.js new file mode 100644 index 0000000000000..cccf6cf96d7f7 --- /dev/null +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/when-stopBuildOnErrors-is-passed-on-command-line.js @@ -0,0 +1,890 @@ +currentDirectory:: /user/username/projects/sample1 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; } + +//// [/user/username/projects/sample1/core/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true + } +} + +//// [/user/username/projects/sample1/core/index.ts] +export const someString: string = "HELLO WORLD"; +export function leftPad(s: string, n: number) { return s + n; } +export function multiply(a: number, b: number) { return a * b; } + + +//// [/user/username/projects/sample1/core/some_decl.d.ts] +declare const dts: any; + +//// [/user/username/projects/sample1/core/anotherModule.ts] +export const World = "hello"; + +//// [/user/username/projects/sample1/logic/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "declaration": true, + "sourceMap": true, + "forceConsistentCasingInFileNames": true, + "skipDefaultLibCheck": true + }, + "references": [ + { + "path": "../core" + } + ] +} + +//// [/user/username/projects/sample1/logic/index.ts] +import * as c from '../core/index'; +export function getSecondsInDay() { + return c.multiply(10, 15); +} +import * as mod from '../core/anotherModule'; +export const m = mod; + + +//// [/user/username/projects/sample1/tests/tsconfig.json] +{ + "references": [ + { + "path": "../core" + }, + { + "path": "../logic" + } + ], + "files": [ + "index.ts" + ], + "compilerOptions": { + "composite": true, + "declaration": true, + "forceConsistentCasingInFileNames": true, + "skipDefaultLibCheck": true + } +} + +//// [/user/username/projects/sample1/tests/index.ts] +import * as c from '../core/index'; +import * as logic from '../logic/index'; + +c.leftPad("", 10); +logic.getSecondsInDay(); + +import * as mod from '../core/anotherModule'; +export const m = mod; + + + +/a/lib/tsc.js -b -w tests --stopBuildOnErrors +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/sample1/core/anotherModule.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.World = void 0; +exports.World = "hello"; + + +//// [/user/username/projects/sample1/core/anotherModule.d.ts.map] +{"version":3,"file":"anotherModule.d.ts","sourceRoot":"","sources":["anotherModule.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,UAAU,CAAC"} + +//// [/user/username/projects/sample1/core/anotherModule.d.ts] +export declare const World = "hello"; +//# sourceMappingURL=anotherModule.d.ts.map + +//// [/user/username/projects/sample1/core/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.someString = void 0; +exports.leftPad = leftPad; +exports.multiply = multiply; +exports.someString = "HELLO WORLD"; +function leftPad(s, n) { return s + n; } +function multiply(a, b) { return a * b; } + + +//// [/user/username/projects/sample1/core/index.d.ts.map] +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAsB,CAAC;AAChD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAAmB;AAC/D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAAmB"} + +//// [/user/username/projects/sample1/core/index.d.ts] +export declare const someString: string; +export declare function leftPad(s: string, n: number): string; +export declare function multiply(a: number, b: number): number; +//# sourceMappingURL=index.d.ts.map + +//// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] +{"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},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n"},{"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"},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true}],"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] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "./anothermodule.ts", + "./index.ts", + "./some_decl.d.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; }", + "affectsGlobalScope": true + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface 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": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "affectsGlobalScope": true + }, + "./anothermodule.ts": { + "original": { + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "./index.ts": { + "original": { + "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" + }, + "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" + }, + "./some_decl.d.ts": { + "original": { + "version": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + }, + "version": "-7959511260-declare const dts: any;", + "signature": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./anothermodule.ts", + "./index.ts", + "./some_decl.d.ts" + ] + ] + ], + "options": { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true + }, + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1300 +} + +//// [/user/username/projects/sample1/logic/index.js.map] +{"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/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.m = void 0; +exports.getSecondsInDay = getSecondsInDay; +var c = require("../core/index"); +function getSecondsInDay() { + return c.multiply(10, 15); +} +var mod = require("../core/anotherModule"); +exports.m = mod; +//# sourceMappingURL=index.js.map + +//// [/user/username/projects/sample1/logic/index.d.ts] +export declare function getSecondsInDay(): number; +import * as mod from '../core/anotherModule'; +export declare const m: typeof mod; + + +//// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] +{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","-9234818176-export declare const World = \"hello\";\n",{"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"}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} + +//// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "./index.ts" + ], + "fileIdsList": [ + [ + "../core/index.d.ts", + "../core/anothermodule.d.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; }", + "affectsGlobalScope": true + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface 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": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "affectsGlobalScope": true + }, + "../core/index.d.ts": { + "version": "-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\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" + }, + "../core/anothermodule.d.ts": { + "version": "-9234818176-export declare const World = \"hello\";\n", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "./index.ts": { + "original": { + "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" + }, + "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" + } + }, + "root": [ + [ + 4, + "./index.ts" + ] + ], + "options": { + "composite": true, + "declaration": true, + "skipDefaultLibCheck": true, + "sourceMap": true + }, + "referencedMap": { + "./index.ts": [ + "../core/index.d.ts", + "../core/anothermodule.d.ts" + ] + }, + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1347 +} + +//// [/user/username/projects/sample1/tests/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.m = void 0; +var c = require("../core/index"); +var logic = require("../logic/index"); +c.leftPad("", 10); +logic.getSecondsInDay(); +var mod = require("../core/anotherModule"); +exports.m = mod; + + +//// [/user/username/projects/sample1/tests/index.d.ts] +import * as mod from '../core/anotherModule'; +export declare const m: typeof mod; + + +//// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] +{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileIdsList":[[3],[2,3,4]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","-9234818176-export declare const World = \"hello\";\n","-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n",{"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"}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} + +//// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "../logic/index.d.ts", + "./index.ts" + ], + "fileIdsList": [ + [ + "../core/anothermodule.d.ts" + ], + [ + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "../logic/index.d.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; }", + "affectsGlobalScope": true + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface 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": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "affectsGlobalScope": true + }, + "../core/index.d.ts": { + "version": "-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\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" + }, + "../core/anothermodule.d.ts": { + "version": "-9234818176-export declare const World = \"hello\";\n", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "../logic/index.d.ts": { + "version": "-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n", + "signature": "-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n" + }, + "./index.ts": { + "original": { + "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" + }, + "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" + } + }, + "root": [ + [ + 5, + "./index.ts" + ] + ], + "options": { + "composite": true, + "declaration": true, + "skipDefaultLibCheck": true + }, + "referencedMap": { + "../logic/index.d.ts": [ + "../core/anothermodule.d.ts" + ], + "./index.ts": [ + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "../logic/index.d.ts" + ] + }, + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1485 +} + + +FsWatches:: +/user/username/projects/sample1/core/anotherModule.ts: *new* + {} +/user/username/projects/sample1/core/index.ts: *new* + {} +/user/username/projects/sample1/core/some_decl.d.ts: *new* + {} +/user/username/projects/sample1/core/tsconfig.json: *new* + {} +/user/username/projects/sample1/logic/index.ts: *new* + {} +/user/username/projects/sample1/logic/tsconfig.json: *new* + {} +/user/username/projects/sample1/tests/index.ts: *new* + {} +/user/username/projects/sample1/tests/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/sample1/core: *new* + {} +/user/username/projects/sample1/logic: *new* + {} + +Program root files: [ + "/user/username/projects/sample1/core/anotherModule.ts", + "/user/username/projects/sample1/core/index.ts", + "/user/username/projects/sample1/core/some_decl.d.ts" +] +Program options: { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true, + "watch": true, + "tscBuild": true, + "configFilePath": "/user/username/projects/sample1/core/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/anotherModule.ts +/user/username/projects/sample1/core/index.ts +/user/username/projects/sample1/core/some_decl.d.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/anotherModule.ts +/user/username/projects/sample1/core/index.ts +/user/username/projects/sample1/core/some_decl.d.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/sample1/core/anothermodule.ts (computed .d.ts during emit) +/user/username/projects/sample1/core/index.ts (computed .d.ts during emit) +/user/username/projects/sample1/core/some_decl.d.ts (used version) + +Program root files: [ + "/user/username/projects/sample1/logic/index.ts" +] +Program options: { + "composite": true, + "declaration": true, + "sourceMap": true, + "forceConsistentCasingInFileNames": true, + "skipDefaultLibCheck": true, + "watch": true, + "tscBuild": true, + "configFilePath": "/user/username/projects/sample1/logic/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/index.d.ts +/user/username/projects/sample1/core/anotherModule.d.ts +/user/username/projects/sample1/logic/index.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/index.d.ts +/user/username/projects/sample1/core/anotherModule.d.ts +/user/username/projects/sample1/logic/index.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/sample1/core/index.d.ts (used version) +/user/username/projects/sample1/core/anothermodule.d.ts (used version) +/user/username/projects/sample1/logic/index.ts (computed .d.ts during emit) + +Program root files: [ + "/user/username/projects/sample1/tests/index.ts" +] +Program options: { + "composite": true, + "declaration": true, + "forceConsistentCasingInFileNames": true, + "skipDefaultLibCheck": true, + "watch": true, + "tscBuild": true, + "configFilePath": "/user/username/projects/sample1/tests/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/index.d.ts +/user/username/projects/sample1/core/anotherModule.d.ts +/user/username/projects/sample1/logic/index.d.ts +/user/username/projects/sample1/tests/index.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/index.d.ts +/user/username/projects/sample1/core/anotherModule.d.ts +/user/username/projects/sample1/logic/index.d.ts +/user/username/projects/sample1/tests/index.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/sample1/core/index.d.ts (used version) +/user/username/projects/sample1/core/anothermodule.d.ts (used version) +/user/username/projects/sample1/logic/index.d.ts (used version) +/user/username/projects/sample1/tests/index.ts (computed .d.ts during emit) + +exitCode:: ExitStatus.undefined + +Change:: change logic + +Input:: +//// [/user/username/projects/sample1/logic/index.ts] +import * as c from '../core/index'; +export function getSecondsInDay() { + return c.multiply(10, 15); +} +import * as mod from '../core/anotherModule'; +export const m = mod; + +let y: string = 10; + + +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... + +logic/index.ts:8:5 - error TS2322: Type 'number' is not assignable to type 'string'. + +8 let y: string = 10; +   ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + +//// [/user/username/projects/sample1/logic/index.js.map] +{"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;AAErB,IAAI,CAAC,GAAW,EAAE,CAAC"} + +//// [/user/username/projects/sample1/logic/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.m = void 0; +exports.getSecondsInDay = getSecondsInDay; +var c = require("../core/index"); +function getSecondsInDay() { + return c.multiply(10, 15); +} +var mod = require("../core/anotherModule"); +exports.m = mod; +var y = 10; +//# sourceMappingURL=index.js.map + +//// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] +{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","-9234818176-export declare const World = \"hello\";\n",{"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"}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[[4,[{"start":178,"length":1,"code":2322,"category":1,"messageText":"Type 'number' is not assignable to type 'string'."}]]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} + +//// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "./index.ts" + ], + "fileIdsList": [ + [ + "../core/index.d.ts", + "../core/anothermodule.d.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; }", + "affectsGlobalScope": true + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface 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": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "affectsGlobalScope": true + }, + "../core/index.d.ts": { + "version": "-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\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" + }, + "../core/anothermodule.d.ts": { + "version": "-9234818176-export declare const World = \"hello\";\n", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "./index.ts": { + "original": { + "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" + }, + "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" + } + }, + "root": [ + [ + 4, + "./index.ts" + ] + ], + "options": { + "composite": true, + "declaration": true, + "skipDefaultLibCheck": true, + "sourceMap": true + }, + "referencedMap": { + "./index.ts": [ + "../core/index.d.ts", + "../core/anothermodule.d.ts" + ] + }, + "semanticDiagnosticsPerFile": [ + [ + "./index.ts", + [ + { + "start": 178, + "length": 1, + "code": 2322, + "category": 1, + "messageText": "Type 'number' is not assignable to type 'string'." + } + ] + ] + ], + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1521 +} + + + +Program root files: [ + "/user/username/projects/sample1/logic/index.ts" +] +Program options: { + "composite": true, + "declaration": true, + "sourceMap": true, + "forceConsistentCasingInFileNames": true, + "skipDefaultLibCheck": true, + "watch": true, + "tscBuild": true, + "configFilePath": "/user/username/projects/sample1/logic/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/index.d.ts +/user/username/projects/sample1/core/anotherModule.d.ts +/user/username/projects/sample1/logic/index.ts + +Semantic diagnostics in builder refreshed for:: +/user/username/projects/sample1/logic/index.ts + +Shape signatures in builder refreshed for:: +/user/username/projects/sample1/logic/index.ts (computed .d.ts) + +exitCode:: ExitStatus.undefined + +Change:: change core + +Input:: +//// [/user/username/projects/sample1/core/index.ts] +export const someString: string = "HELLO WORLD"; +export function leftPad(s: string, n: number) { return s + n; } +export function multiply(a: number, b: number) { return a * b; } + +let x: string = 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... + +core/index.ts:5:5 - error TS2322: Type 'number' is not assignable to type 'string'. + +5 let x: string = 10; +   ~ + +logic/index.ts:8:5 - error TS2322: Type 'number' is not assignable to type 'string'. + +8 let y: string = 10; +   ~ + +[HH:MM:SS AM] Found 2 errors. Watching for file changes. + + + +//// [/user/username/projects/sample1/core/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.someString = void 0; +exports.leftPad = leftPad; +exports.multiply = multiply; +exports.someString = "HELLO WORLD"; +function leftPad(s, n) { return s + n; } +function multiply(a, b) { return a * b; } +var x = 10; + + +//// [/user/username/projects/sample1/core/index.d.ts.map] file written with same contents +//// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] +{"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},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n"},{"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"},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true}],"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'."}]]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} + +//// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "./anothermodule.ts", + "./index.ts", + "./some_decl.d.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; }", + "affectsGlobalScope": true + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface 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": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "affectsGlobalScope": true + }, + "./anothermodule.ts": { + "original": { + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "./index.ts": { + "original": { + "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" + }, + "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" + }, + "./some_decl.d.ts": { + "original": { + "version": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + }, + "version": "-7959511260-declare const dts: any;", + "signature": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./anothermodule.ts", + "./index.ts", + "./some_decl.d.ts" + ] + ] + ], + "options": { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true + }, + "semanticDiagnosticsPerFile": [ + [ + "./index.ts", + [ + { + "start": 183, + "length": 1, + "code": 2322, + "category": 1, + "messageText": "Type 'number' is not assignable to type 'string'." + } + ] + ] + ], + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1474 +} + + +Before running Timeout callback:: count: 0 + +After running Timeout callback:: count: 0 + + +Program root files: [ + "/user/username/projects/sample1/core/anotherModule.ts", + "/user/username/projects/sample1/core/index.ts", + "/user/username/projects/sample1/core/some_decl.d.ts" +] +Program options: { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true, + "watch": true, + "tscBuild": true, + "configFilePath": "/user/username/projects/sample1/core/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/anotherModule.ts +/user/username/projects/sample1/core/index.ts +/user/username/projects/sample1/core/some_decl.d.ts + +Semantic diagnostics in builder refreshed for:: +/user/username/projects/sample1/core/index.ts + +Shape signatures in builder refreshed for:: +/user/username/projects/sample1/core/index.ts (computed .d.ts) + +exitCode:: ExitStatus.undefined + +Change:: fix error in logic + +Input:: +//// [/user/username/projects/sample1/logic/index.ts] +import * as c from '../core/index'; +export function getSecondsInDay() { + return c.multiply(10, 15); +} +import * as mod from '../core/anotherModule'; +export const m = mod; + + + +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... + +core/index.ts:5:5 - error TS2322: Type 'number' is not assignable to type 'string'. + +5 let x: string = 10; +   ~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/skips-builds-downstream-projects-if-upstream-projects-have-errors-with-stopBuildOnErrors-when-test-does-not-reference-core.js b/tests/baselines/reference/tsbuildWatch/programUpdates/skips-builds-downstream-projects-if-upstream-projects-have-errors-with-stopBuildOnErrors-when-test-does-not-reference-core.js new file mode 100644 index 0000000000000..024873da5647c --- /dev/null +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/skips-builds-downstream-projects-if-upstream-projects-have-errors-with-stopBuildOnErrors-when-test-does-not-reference-core.js @@ -0,0 +1,731 @@ +currentDirectory:: /user/username/projects/sample1 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; } + +//// [/user/username/projects/sample1/core/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true + } +} + +//// [/user/username/projects/sample1/core/index.ts] +export const someString: string = "HELLO WORLD"; +export function leftPad(s: string, n: number) { return s + n; } +export function multiply(a: number, b: number) { return a * b; } +multiply(); + +//// [/user/username/projects/sample1/core/some_decl.d.ts] +declare const dts: any; + +//// [/user/username/projects/sample1/core/anotherModule.ts] +export const World = "hello"; + +//// [/user/username/projects/sample1/logic/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "declaration": true, + "sourceMap": true, + "forceConsistentCasingInFileNames": true, + "skipDefaultLibCheck": true + }, + "references": [ + { + "path": "../core" + } + ] +} + +//// [/user/username/projects/sample1/logic/index.ts] +import * as c from '../core/index'; +export function getSecondsInDay() { + return c.multiply(10, 15); +} +import * as mod from '../core/anotherModule'; +export const m = mod; + + +//// [/user/username/projects/sample1/tests/tsconfig.json] +{ + "references": [ + { + "path": "../logic" + } + ], + "files": [ + "index.ts" + ], + "compilerOptions": { + "composite": true, + "declaration": true, + "forceConsistentCasingInFileNames": true, + "skipDefaultLibCheck": true + } +} + +//// [/user/username/projects/sample1/tests/index.ts] +import * as c from '../core/index'; +import * as logic from '../logic/index'; + +c.leftPad("", 10); +logic.getSecondsInDay(); + +import * as mod from '../core/anotherModule'; +export const m = mod; + + + +/a/lib/tsc.js --b -w tests --verbose --stopBuildOnErrors +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Projects in this build: + * core/tsconfig.json + * logic/tsconfig.json + * tests/tsconfig.json + +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... + +core/index.ts:4:1 - error TS2554: Expected 2 arguments, but got 0. + +4 multiply(); +  ~~~~~~~~ + + core/index.ts:3:26 + 3 export function multiply(a: number, b: number) { return a * b; } +    ~~~~~~~~~ + An argument for 'a' was not provided. + +[HH:MM:SS AM] Project 'logic/tsconfig.json' can't be built because its dependency '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 + +[HH:MM:SS AM] Project 'tests/tsconfig.json' can't be built because its dependency 'logic' was not built + +[HH:MM:SS AM] Skipping build of project '/user/username/projects/sample1/tests/tsconfig.json' because its dependency '/user/username/projects/sample1/logic' was not built + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + +//// [/user/username/projects/sample1/core/anotherModule.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.World = void 0; +exports.World = "hello"; + + +//// [/user/username/projects/sample1/core/anotherModule.d.ts.map] +{"version":3,"file":"anotherModule.d.ts","sourceRoot":"","sources":["anotherModule.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,UAAU,CAAC"} + +//// [/user/username/projects/sample1/core/anotherModule.d.ts] +export declare const World = "hello"; +//# sourceMappingURL=anotherModule.d.ts.map + +//// [/user/username/projects/sample1/core/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.someString = void 0; +exports.leftPad = leftPad; +exports.multiply = multiply; +exports.someString = "HELLO WORLD"; +function leftPad(s, n) { return s + n; } +function multiply(a, b) { return a * b; } +multiply(); + + +//// [/user/username/projects/sample1/core/index.d.ts.map] +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAsB,CAAC;AAChD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAAmB;AAC/D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAAmB"} + +//// [/user/username/projects/sample1/core/index.d.ts] +export declare const someString: string; +export declare function leftPad(s: string, n: number): string; +export declare function multiply(a: number, b: number): number; +//# sourceMappingURL=index.d.ts.map + +//// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] +{"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},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n"},{"version":"-12887218413-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\nmultiply();","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"},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"semanticDiagnosticsPerFile":[[3,[{"start":178,"length":8,"messageText":"Expected 2 arguments, but got 0.","category":1,"code":2554,"relatedInformation":[{"start":138,"length":9,"messageText":"An argument for 'a' was not provided.","category":3,"code":6210}]}]]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} + +//// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "./anothermodule.ts", + "./index.ts", + "./some_decl.d.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; }", + "affectsGlobalScope": true + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface 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": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "affectsGlobalScope": true + }, + "./anothermodule.ts": { + "original": { + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "./index.ts": { + "original": { + "version": "-12887218413-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\nmultiply();", + "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" + }, + "version": "-12887218413-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\nmultiply();", + "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" + }, + "./some_decl.d.ts": { + "original": { + "version": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + }, + "version": "-7959511260-declare const dts: any;", + "signature": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./anothermodule.ts", + "./index.ts", + "./some_decl.d.ts" + ] + ] + ], + "options": { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true + }, + "semanticDiagnosticsPerFile": [ + [ + "./index.ts", + [ + { + "start": 178, + "length": 8, + "messageText": "Expected 2 arguments, but got 0.", + "category": 1, + "code": 2554, + "relatedInformation": [ + { + "start": 138, + "length": 9, + "messageText": "An argument for 'a' was not provided.", + "category": 3, + "code": 6210 + } + ] + } + ] + ] + ], + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1574 +} + + +FsWatches:: +/user/username/projects/sample1/core/anotherModule.ts: *new* + {} +/user/username/projects/sample1/core/index.ts: *new* + {} +/user/username/projects/sample1/core/some_decl.d.ts: *new* + {} +/user/username/projects/sample1/core/tsconfig.json: *new* + {} +/user/username/projects/sample1/logic/index.ts: *new* + {} +/user/username/projects/sample1/logic/tsconfig.json: *new* + {} +/user/username/projects/sample1/tests/index.ts: *new* + {} +/user/username/projects/sample1/tests/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/sample1/core: *new* + {} +/user/username/projects/sample1/logic: *new* + {} + +Program root files: [ + "/user/username/projects/sample1/core/anotherModule.ts", + "/user/username/projects/sample1/core/index.ts", + "/user/username/projects/sample1/core/some_decl.d.ts" +] +Program options: { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true, + "watch": true, + "tscBuild": true, + "configFilePath": "/user/username/projects/sample1/core/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/anotherModule.ts +/user/username/projects/sample1/core/index.ts +/user/username/projects/sample1/core/some_decl.d.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/anotherModule.ts +/user/username/projects/sample1/core/index.ts +/user/username/projects/sample1/core/some_decl.d.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/sample1/core/anothermodule.ts (computed .d.ts during emit) +/user/username/projects/sample1/core/index.ts (computed .d.ts during emit) +/user/username/projects/sample1/core/some_decl.d.ts (used version) + +exitCode:: ExitStatus.undefined + +Change:: fix error + +Input:: +//// [/user/username/projects/sample1/core/index.ts] +export const someString: string = "HELLO WORLD"; +export function leftPad(s: string, n: number) { return s + n; } +export function multiply(a: number, b: number) { return a * b; } + + + +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: 1 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because buildinfo file 'core/tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... + + + +//// [/user/username/projects/sample1/core/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.someString = void 0; +exports.leftPad = leftPad; +exports.multiply = multiply; +exports.someString = "HELLO WORLD"; +function leftPad(s, n) { return s + n; } +function multiply(a, b) { return a * b; } + + +//// [/user/username/projects/sample1/core/index.d.ts.map] file written with same contents +//// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] +{"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},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n"},{"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"},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true}],"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] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "./anothermodule.ts", + "./index.ts", + "./some_decl.d.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; }", + "affectsGlobalScope": true + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface 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": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "affectsGlobalScope": true + }, + "./anothermodule.ts": { + "original": { + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "./index.ts": { + "original": { + "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" + }, + "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" + }, + "./some_decl.d.ts": { + "original": { + "version": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + }, + "version": "-7959511260-declare const dts: any;", + "signature": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./anothermodule.ts", + "./index.ts", + "./some_decl.d.ts" + ] + ] + ], + "options": { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true + }, + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1300 +} + + +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:: +[HH:MM:SS AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... + +[HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output file 'tests/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/sample1/logic/index.js.map] +{"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/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.m = void 0; +exports.getSecondsInDay = getSecondsInDay; +var c = require("../core/index"); +function getSecondsInDay() { + return c.multiply(10, 15); +} +var mod = require("../core/anotherModule"); +exports.m = mod; +//# sourceMappingURL=index.js.map + +//// [/user/username/projects/sample1/logic/index.d.ts] +export declare function getSecondsInDay(): number; +import * as mod from '../core/anotherModule'; +export declare const m: typeof mod; + + +//// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] +{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","-9234818176-export declare const World = \"hello\";\n",{"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"}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} + +//// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "./index.ts" + ], + "fileIdsList": [ + [ + "../core/index.d.ts", + "../core/anothermodule.d.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; }", + "affectsGlobalScope": true + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface 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": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "affectsGlobalScope": true + }, + "../core/index.d.ts": { + "version": "-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\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" + }, + "../core/anothermodule.d.ts": { + "version": "-9234818176-export declare const World = \"hello\";\n", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "./index.ts": { + "original": { + "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" + }, + "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" + } + }, + "root": [ + [ + 4, + "./index.ts" + ] + ], + "options": { + "composite": true, + "declaration": true, + "skipDefaultLibCheck": true, + "sourceMap": true + }, + "referencedMap": { + "./index.ts": [ + "../core/index.d.ts", + "../core/anothermodule.d.ts" + ] + }, + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1347 +} + +//// [/user/username/projects/sample1/tests/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.m = void 0; +var c = require("../core/index"); +var logic = require("../logic/index"); +c.leftPad("", 10); +logic.getSecondsInDay(); +var mod = require("../core/anotherModule"); +exports.m = mod; + + +//// [/user/username/projects/sample1/tests/index.d.ts] +import * as mod from '../core/anotherModule'; +export declare const m: typeof mod; + + +//// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] +{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileIdsList":[[3],[2,3,4]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","-9234818176-export declare const World = \"hello\";\n","-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n",{"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"}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} + +//// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "../logic/index.d.ts", + "./index.ts" + ], + "fileIdsList": [ + [ + "../core/anothermodule.d.ts" + ], + [ + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "../logic/index.d.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; }", + "affectsGlobalScope": true + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface 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": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "affectsGlobalScope": true + }, + "../core/index.d.ts": { + "version": "-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\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" + }, + "../core/anothermodule.d.ts": { + "version": "-9234818176-export declare const World = \"hello\";\n", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "../logic/index.d.ts": { + "version": "-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n", + "signature": "-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n" + }, + "./index.ts": { + "original": { + "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" + }, + "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" + } + }, + "root": [ + [ + 5, + "./index.ts" + ] + ], + "options": { + "composite": true, + "declaration": true, + "skipDefaultLibCheck": true + }, + "referencedMap": { + "../logic/index.d.ts": [ + "../core/anothermodule.d.ts" + ], + "./index.ts": [ + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "../logic/index.d.ts" + ] + }, + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1485 +} + + + +Program root files: [ + "/user/username/projects/sample1/core/anotherModule.ts", + "/user/username/projects/sample1/core/index.ts", + "/user/username/projects/sample1/core/some_decl.d.ts" +] +Program options: { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true, + "watch": true, + "tscBuild": true, + "configFilePath": "/user/username/projects/sample1/core/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/anotherModule.ts +/user/username/projects/sample1/core/index.ts +/user/username/projects/sample1/core/some_decl.d.ts + +Semantic diagnostics in builder refreshed for:: +/user/username/projects/sample1/core/index.ts + +Shape signatures in builder refreshed for:: +/user/username/projects/sample1/core/index.ts (computed .d.ts) + +Program root files: [ + "/user/username/projects/sample1/logic/index.ts" +] +Program options: { + "composite": true, + "declaration": true, + "sourceMap": true, + "forceConsistentCasingInFileNames": true, + "skipDefaultLibCheck": true, + "watch": true, + "tscBuild": true, + "configFilePath": "/user/username/projects/sample1/logic/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/index.d.ts +/user/username/projects/sample1/core/anotherModule.d.ts +/user/username/projects/sample1/logic/index.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/index.d.ts +/user/username/projects/sample1/core/anotherModule.d.ts +/user/username/projects/sample1/logic/index.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/sample1/core/index.d.ts (used version) +/user/username/projects/sample1/core/anothermodule.d.ts (used version) +/user/username/projects/sample1/logic/index.ts (computed .d.ts during emit) + +Program root files: [ + "/user/username/projects/sample1/tests/index.ts" +] +Program options: { + "composite": true, + "declaration": true, + "forceConsistentCasingInFileNames": true, + "skipDefaultLibCheck": true, + "watch": true, + "tscBuild": true, + "configFilePath": "/user/username/projects/sample1/tests/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/index.d.ts +/user/username/projects/sample1/core/anotherModule.d.ts +/user/username/projects/sample1/logic/index.d.ts +/user/username/projects/sample1/tests/index.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/index.d.ts +/user/username/projects/sample1/core/anotherModule.d.ts +/user/username/projects/sample1/logic/index.d.ts +/user/username/projects/sample1/tests/index.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/sample1/core/index.d.ts (used version) +/user/username/projects/sample1/core/anothermodule.d.ts (used version) +/user/username/projects/sample1/logic/index.d.ts (used version) +/user/username/projects/sample1/tests/index.ts (computed .d.ts during emit) + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/skips-builds-downstream-projects-if-upstream-projects-have-errors-with-stopBuildOnErrors.js b/tests/baselines/reference/tsbuildWatch/programUpdates/skips-builds-downstream-projects-if-upstream-projects-have-errors-with-stopBuildOnErrors.js new file mode 100644 index 0000000000000..5e025aa04a28d --- /dev/null +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/skips-builds-downstream-projects-if-upstream-projects-have-errors-with-stopBuildOnErrors.js @@ -0,0 +1,734 @@ +currentDirectory:: /user/username/projects/sample1 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; } + +//// [/user/username/projects/sample1/core/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true + } +} + +//// [/user/username/projects/sample1/core/index.ts] +export const someString: string = "HELLO WORLD"; +export function leftPad(s: string, n: number) { return s + n; } +export function multiply(a: number, b: number) { return a * b; } +multiply(); + +//// [/user/username/projects/sample1/core/some_decl.d.ts] +declare const dts: any; + +//// [/user/username/projects/sample1/core/anotherModule.ts] +export const World = "hello"; + +//// [/user/username/projects/sample1/logic/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "declaration": true, + "sourceMap": true, + "forceConsistentCasingInFileNames": true, + "skipDefaultLibCheck": true + }, + "references": [ + { + "path": "../core" + } + ] +} + +//// [/user/username/projects/sample1/logic/index.ts] +import * as c from '../core/index'; +export function getSecondsInDay() { + return c.multiply(10, 15); +} +import * as mod from '../core/anotherModule'; +export const m = mod; + + +//// [/user/username/projects/sample1/tests/tsconfig.json] +{ + "references": [ + { + "path": "../core" + }, + { + "path": "../logic" + } + ], + "files": [ + "index.ts" + ], + "compilerOptions": { + "composite": true, + "declaration": true, + "forceConsistentCasingInFileNames": true, + "skipDefaultLibCheck": true + } +} + +//// [/user/username/projects/sample1/tests/index.ts] +import * as c from '../core/index'; +import * as logic from '../logic/index'; + +c.leftPad("", 10); +logic.getSecondsInDay(); + +import * as mod from '../core/anotherModule'; +export const m = mod; + + + +/a/lib/tsc.js --b -w tests --verbose --stopBuildOnErrors +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +[HH:MM:SS AM] Projects in this build: + * core/tsconfig.json + * logic/tsconfig.json + * tests/tsconfig.json + +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because output file 'core/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... + +core/index.ts:4:1 - error TS2554: Expected 2 arguments, but got 0. + +4 multiply(); +  ~~~~~~~~ + + core/index.ts:3:26 + 3 export function multiply(a: number, b: number) { return a * b; } +    ~~~~~~~~~ + An argument for 'a' was not provided. + +[HH:MM:SS AM] Project 'logic/tsconfig.json' can't be built because its dependency '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 + +[HH:MM:SS AM] Project 'tests/tsconfig.json' can't be built because its dependency '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 + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + +//// [/user/username/projects/sample1/core/anotherModule.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.World = void 0; +exports.World = "hello"; + + +//// [/user/username/projects/sample1/core/anotherModule.d.ts.map] +{"version":3,"file":"anotherModule.d.ts","sourceRoot":"","sources":["anotherModule.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,UAAU,CAAC"} + +//// [/user/username/projects/sample1/core/anotherModule.d.ts] +export declare const World = "hello"; +//# sourceMappingURL=anotherModule.d.ts.map + +//// [/user/username/projects/sample1/core/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.someString = void 0; +exports.leftPad = leftPad; +exports.multiply = multiply; +exports.someString = "HELLO WORLD"; +function leftPad(s, n) { return s + n; } +function multiply(a, b) { return a * b; } +multiply(); + + +//// [/user/username/projects/sample1/core/index.d.ts.map] +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,EAAE,MAAsB,CAAC;AAChD,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAAmB;AAC/D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAAmB"} + +//// [/user/username/projects/sample1/core/index.d.ts] +export declare const someString: string; +export declare function leftPad(s: string, n: number): string; +export declare function multiply(a: number, b: number): number; +//# sourceMappingURL=index.d.ts.map + +//// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] +{"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},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n"},{"version":"-12887218413-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\nmultiply();","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"},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true}],"root":[[2,4]],"options":{"composite":true,"declaration":true,"declarationMap":true,"skipDefaultLibCheck":true},"semanticDiagnosticsPerFile":[[3,[{"start":178,"length":8,"messageText":"Expected 2 arguments, but got 0.","category":1,"code":2554,"relatedInformation":[{"start":138,"length":9,"messageText":"An argument for 'a' was not provided.","category":3,"code":6210}]}]]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} + +//// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "./anothermodule.ts", + "./index.ts", + "./some_decl.d.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; }", + "affectsGlobalScope": true + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface 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": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "affectsGlobalScope": true + }, + "./anothermodule.ts": { + "original": { + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "./index.ts": { + "original": { + "version": "-12887218413-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\nmultiply();", + "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" + }, + "version": "-12887218413-export const someString: string = \"HELLO WORLD\";\nexport function leftPad(s: string, n: number) { return s + n; }\nexport function multiply(a: number, b: number) { return a * b; }\nmultiply();", + "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" + }, + "./some_decl.d.ts": { + "original": { + "version": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + }, + "version": "-7959511260-declare const dts: any;", + "signature": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./anothermodule.ts", + "./index.ts", + "./some_decl.d.ts" + ] + ] + ], + "options": { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true + }, + "semanticDiagnosticsPerFile": [ + [ + "./index.ts", + [ + { + "start": 178, + "length": 8, + "messageText": "Expected 2 arguments, but got 0.", + "category": 1, + "code": 2554, + "relatedInformation": [ + { + "start": 138, + "length": 9, + "messageText": "An argument for 'a' was not provided.", + "category": 3, + "code": 6210 + } + ] + } + ] + ] + ], + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1574 +} + + +FsWatches:: +/user/username/projects/sample1/core/anotherModule.ts: *new* + {} +/user/username/projects/sample1/core/index.ts: *new* + {} +/user/username/projects/sample1/core/some_decl.d.ts: *new* + {} +/user/username/projects/sample1/core/tsconfig.json: *new* + {} +/user/username/projects/sample1/logic/index.ts: *new* + {} +/user/username/projects/sample1/logic/tsconfig.json: *new* + {} +/user/username/projects/sample1/tests/index.ts: *new* + {} +/user/username/projects/sample1/tests/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/sample1/core: *new* + {} +/user/username/projects/sample1/logic: *new* + {} + +Program root files: [ + "/user/username/projects/sample1/core/anotherModule.ts", + "/user/username/projects/sample1/core/index.ts", + "/user/username/projects/sample1/core/some_decl.d.ts" +] +Program options: { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true, + "watch": true, + "tscBuild": true, + "configFilePath": "/user/username/projects/sample1/core/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/anotherModule.ts +/user/username/projects/sample1/core/index.ts +/user/username/projects/sample1/core/some_decl.d.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/anotherModule.ts +/user/username/projects/sample1/core/index.ts +/user/username/projects/sample1/core/some_decl.d.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/sample1/core/anothermodule.ts (computed .d.ts during emit) +/user/username/projects/sample1/core/index.ts (computed .d.ts during emit) +/user/username/projects/sample1/core/some_decl.d.ts (used version) + +exitCode:: ExitStatus.undefined + +Change:: fix error + +Input:: +//// [/user/username/projects/sample1/core/index.ts] +export const someString: string = "HELLO WORLD"; +export function leftPad(s: string, n: number) { return s + n; } +export function multiply(a: number, b: number) { return a * b; } + + + +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: 1 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +[HH:MM:SS AM] Project 'core/tsconfig.json' is out of date because buildinfo file 'core/tsconfig.tsbuildinfo' indicates that program needs to report errors. + +[HH:MM:SS AM] Building project '/user/username/projects/sample1/core/tsconfig.json'... + + + +//// [/user/username/projects/sample1/core/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.someString = void 0; +exports.leftPad = leftPad; +exports.multiply = multiply; +exports.someString = "HELLO WORLD"; +function leftPad(s, n) { return s + n; } +function multiply(a, b) { return a * b; } + + +//// [/user/username/projects/sample1/core/index.d.ts.map] file written with same contents +//// [/user/username/projects/sample1/core/tsconfig.tsbuildinfo] +{"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},{"version":"-3090574810-export const World = \"hello\";","signature":"-9234818176-export declare const World = \"hello\";\n"},{"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"},{"version":"-7959511260-declare const dts: any;","affectsGlobalScope":true}],"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] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "./anothermodule.ts", + "./index.ts", + "./some_decl.d.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; }", + "affectsGlobalScope": true + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface 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": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "affectsGlobalScope": true + }, + "./anothermodule.ts": { + "original": { + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "version": "-3090574810-export const World = \"hello\";", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "./index.ts": { + "original": { + "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" + }, + "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" + }, + "./some_decl.d.ts": { + "original": { + "version": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + }, + "version": "-7959511260-declare const dts: any;", + "signature": "-7959511260-declare const dts: any;", + "affectsGlobalScope": true + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./anothermodule.ts", + "./index.ts", + "./some_decl.d.ts" + ] + ] + ], + "options": { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true + }, + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1300 +} + + +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:: +[HH:MM:SS AM] Project 'logic/tsconfig.json' is out of date because output file 'logic/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/sample1/logic/tsconfig.json'... + +[HH:MM:SS AM] Project 'tests/tsconfig.json' is out of date because output file 'tests/tsconfig.tsbuildinfo' does not exist + +[HH:MM:SS AM] Building project '/user/username/projects/sample1/tests/tsconfig.json'... + +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/sample1/logic/index.js.map] +{"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/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.m = void 0; +exports.getSecondsInDay = getSecondsInDay; +var c = require("../core/index"); +function getSecondsInDay() { + return c.multiply(10, 15); +} +var mod = require("../core/anotherModule"); +exports.m = mod; +//# sourceMappingURL=index.js.map + +//// [/user/username/projects/sample1/logic/index.d.ts] +export declare function getSecondsInDay(): number; +import * as mod from '../core/anotherModule'; +export declare const m: typeof mod; + + +//// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo] +{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","./index.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","-9234818176-export declare const World = \"hello\";\n",{"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"}],"root":[4],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true,"sourceMap":true},"referencedMap":[[4,1]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} + +//// [/user/username/projects/sample1/logic/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "./index.ts" + ], + "fileIdsList": [ + [ + "../core/index.d.ts", + "../core/anothermodule.d.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; }", + "affectsGlobalScope": true + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface 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": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "affectsGlobalScope": true + }, + "../core/index.d.ts": { + "version": "-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\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" + }, + "../core/anothermodule.d.ts": { + "version": "-9234818176-export declare const World = \"hello\";\n", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "./index.ts": { + "original": { + "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" + }, + "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" + } + }, + "root": [ + [ + 4, + "./index.ts" + ] + ], + "options": { + "composite": true, + "declaration": true, + "skipDefaultLibCheck": true, + "sourceMap": true + }, + "referencedMap": { + "./index.ts": [ + "../core/index.d.ts", + "../core/anothermodule.d.ts" + ] + }, + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1347 +} + +//// [/user/username/projects/sample1/tests/index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.m = void 0; +var c = require("../core/index"); +var logic = require("../logic/index"); +c.leftPad("", 10); +logic.getSecondsInDay(); +var mod = require("../core/anotherModule"); +exports.m = mod; + + +//// [/user/username/projects/sample1/tests/index.d.ts] +import * as mod from '../core/anotherModule'; +export declare const m: typeof mod; + + +//// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo] +{"fileNames":["../../../../../a/lib/lib.d.ts","../core/index.d.ts","../core/anothermodule.d.ts","../logic/index.d.ts","./index.ts"],"fileIdsList":[[3],[2,3,4]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\n","-9234818176-export declare const World = \"hello\";\n","-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n",{"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"}],"root":[5],"options":{"composite":true,"declaration":true,"skipDefaultLibCheck":true},"referencedMap":[[4,1],[5,2]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} + +//// [/user/username/projects/sample1/tests/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "fileNames": [ + "../../../../../a/lib/lib.d.ts", + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "../logic/index.d.ts", + "./index.ts" + ], + "fileIdsList": [ + [ + "../core/anothermodule.d.ts" + ], + [ + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "../logic/index.d.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; }", + "affectsGlobalScope": true + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface 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": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "affectsGlobalScope": true + }, + "../core/index.d.ts": { + "version": "-7362568283-export declare const someString: string;\nexport declare function leftPad(s: string, n: number): string;\nexport declare function multiply(a: number, b: number): number;\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" + }, + "../core/anothermodule.d.ts": { + "version": "-9234818176-export declare const World = \"hello\";\n", + "signature": "-9234818176-export declare const World = \"hello\";\n" + }, + "../logic/index.d.ts": { + "version": "-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n", + "signature": "-9659407152-export declare function getSecondsInDay(): number;\nimport * as mod from '../core/anotherModule';\nexport declare const m: typeof mod;\n" + }, + "./index.ts": { + "original": { + "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" + }, + "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" + } + }, + "root": [ + [ + 5, + "./index.ts" + ] + ], + "options": { + "composite": true, + "declaration": true, + "skipDefaultLibCheck": true + }, + "referencedMap": { + "../logic/index.d.ts": [ + "../core/anothermodule.d.ts" + ], + "./index.ts": [ + "../core/index.d.ts", + "../core/anothermodule.d.ts", + "../logic/index.d.ts" + ] + }, + "latestChangedDtsFile": "./index.d.ts", + "version": "FakeTSVersion", + "size": 1485 +} + + + +Program root files: [ + "/user/username/projects/sample1/core/anotherModule.ts", + "/user/username/projects/sample1/core/index.ts", + "/user/username/projects/sample1/core/some_decl.d.ts" +] +Program options: { + "composite": true, + "declaration": true, + "declarationMap": true, + "skipDefaultLibCheck": true, + "watch": true, + "tscBuild": true, + "configFilePath": "/user/username/projects/sample1/core/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/anotherModule.ts +/user/username/projects/sample1/core/index.ts +/user/username/projects/sample1/core/some_decl.d.ts + +Semantic diagnostics in builder refreshed for:: +/user/username/projects/sample1/core/index.ts + +Shape signatures in builder refreshed for:: +/user/username/projects/sample1/core/index.ts (computed .d.ts) + +Program root files: [ + "/user/username/projects/sample1/logic/index.ts" +] +Program options: { + "composite": true, + "declaration": true, + "sourceMap": true, + "forceConsistentCasingInFileNames": true, + "skipDefaultLibCheck": true, + "watch": true, + "tscBuild": true, + "configFilePath": "/user/username/projects/sample1/logic/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/index.d.ts +/user/username/projects/sample1/core/anotherModule.d.ts +/user/username/projects/sample1/logic/index.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/index.d.ts +/user/username/projects/sample1/core/anotherModule.d.ts +/user/username/projects/sample1/logic/index.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/sample1/core/index.d.ts (used version) +/user/username/projects/sample1/core/anothermodule.d.ts (used version) +/user/username/projects/sample1/logic/index.ts (computed .d.ts during emit) + +Program root files: [ + "/user/username/projects/sample1/tests/index.ts" +] +Program options: { + "composite": true, + "declaration": true, + "forceConsistentCasingInFileNames": true, + "skipDefaultLibCheck": true, + "watch": true, + "tscBuild": true, + "configFilePath": "/user/username/projects/sample1/tests/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/index.d.ts +/user/username/projects/sample1/core/anotherModule.d.ts +/user/username/projects/sample1/logic/index.d.ts +/user/username/projects/sample1/tests/index.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/sample1/core/index.d.ts +/user/username/projects/sample1/core/anotherModule.d.ts +/user/username/projects/sample1/logic/index.d.ts +/user/username/projects/sample1/tests/index.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/sample1/core/index.d.ts (used version) +/user/username/projects/sample1/core/anothermodule.d.ts (used version) +/user/username/projects/sample1/logic/index.d.ts (used version) +/user/username/projects/sample1/tests/index.ts (computed .d.ts during emit) + +exitCode:: ExitStatus.undefined 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 6bb5597f3ab70..bd13f360f947f 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 @@ -233,7 +233,6 @@ Info seq [hh:mm:ss:mss] request: "type": "request" } 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] getConfigFileNameForFile:: File: /a/b/tsconfig.json ProjectRootPath: undefined:: Result: undefined 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 0c9e9a2cec13c..a46b10756cc04 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 @@ -233,7 +233,6 @@ Info seq [hh:mm:ss:mss] request: "type": "request" } 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] getConfigFileNameForFile:: File: /a/b/tsconfig.json ProjectRootPath: undefined:: Result: undefined 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 a4c68397e284c..297e1b287647e 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 @@ -354,7 +354,6 @@ Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/commonFile Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/commonFile2.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json 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: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) @@ -646,7 +645,6 @@ Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/commonFile Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1*,/user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/commonFile2.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json 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: 4 projectProgramVersion: 3 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) @@ -1596,7 +1594,6 @@ Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/commonFile Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/commonFile2.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject4* -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/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/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) 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 index 62254d86e1b97..782addc4045b0 100644 --- 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 @@ -148,9 +148,131 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/tsconfig.json ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json +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: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 1, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +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] FileWatcher:: Added:: 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] 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, @@ -158,7 +280,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "Creating possible configured project for /user/username/projects/myproject/folder/commonFile2.ts to open" + "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 : { @@ -169,6 +291,8 @@ Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json "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 @@ -243,11 +367,13 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "configFileDiag", "body": { - "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", + "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) @@ -256,99 +382,21 @@ Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.jso Info seq [hh:mm: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] response: - { - "seq": 0, - "type": "response", - "command": "open", - "request_seq": 1, - "success": true, - "performanceData": { - "updateGraphDurationMs": * - } - } -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/commonFile1.ts: *new* - {} -/user/username/projects/myproject/folder/tsconfig.json: *new* - {} -/user/username/projects/myproject/tsconfig.json: *new* - {} - -Projects:: -/user/username/projects/myproject/folder/tsconfig.json (Configured) *new* - projectStateVersion: 1 - projectProgramVersion: 1 -/user/username/projects/myproject/tsconfig.json (Configured) *new* - projectStateVersion: 1 - projectProgramVersion: 1 - -ScriptInfos:: -/a/lib/lib.d.ts *new* - version: Text-1 - containingProjects: 2 - /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/tsconfig.json -/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 - /user/username/projects/myproject/tsconfig.json *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] 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: 1 -1: *ensureProjectForOpenFiles* -//// [/user/username/projects/myproject/folder/tsconfig.json] deleted - -Timeout callback:: count: 1 -1: *ensureProjectForOpenFiles* *new* - -Projects:: -/user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* - projectStateVersion: 1 - projectProgramVersion: 1 - isOrphan: true *changed* - deferredClose: true *changed* -/user/username/projects/myproject/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 - -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 '/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] 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) @@ -357,6 +405,10 @@ 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 @@ -375,14 +427,70 @@ Info seq [hh:mm:ss:mss] event: } 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 -2: /user/username/projects/myproject/folder/tsconfig.json -3: *ensureProjectForOpenFiles* +3: /user/username/projects/myproject/folder/tsconfig.json +4: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/folder/tsconfig.json] { "files": [ @@ -392,10 +500,14 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -2: /user/username/projects/myproject/folder/tsconfig.json *new* -3: *ensureProjectForOpenFiles* *new* +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 @@ -457,11 +569,14 @@ 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] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/tsconfig.json ProjectRootPath: undefined:: Result: /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) @@ -470,6 +585,10 @@ 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 @@ -489,13 +608,19 @@ Info seq [hh:mm:ss:mss] event: 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* -/user/username/projects/myproject/tsconfig.json (Configured) + noOpenRef: true *changed* +/user/username/projects/myproject/tsconfig.json (Configured) *changed* projectStateVersion: 1 projectProgramVersion: 1 + noOpenRef: true *changed* Before request @@ -510,9 +635,9 @@ Info seq [hh:mm:ss:mss] request: "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] 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;" @@ -524,23 +649,67 @@ 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] `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: /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] Projects: /dev/null/inferredProject2* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -554,36 +723,65 @@ Info seq [hh:mm:ss:mss] response: } 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) *new* +/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) +/user/username/projects/myproject/folder/tsconfig.json (Configured) *deleted* projectStateVersion: 2 projectProgramVersion: 1 -/user/username/projects/myproject/tsconfig.json (Configured) + 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: 3 *changed* - /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/tsconfig.json - /dev/null/inferredProject1* *new* + 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/inferredProject1* *default* -/user/username/projects/myproject/folder/commonFile1.ts + /dev/null/inferredProject2* *default* +/user/username/projects/myproject/folder/commonFile1.ts *deleted* version: Text-1 - containingProjects: 1 - /user/username/projects/myproject/folder/tsconfig.json -/user/username/projects/myproject/folder/commonFile2.ts (Open) + 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: 1 - /user/username/projects/myproject/tsconfig.json *default* + containingProjects: 0 *changed* + /user/username/projects/myproject/tsconfig.json *deleted* Before request @@ -597,21 +795,13 @@ Info seq [hh:mm:ss:mss] request: "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/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] 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/inferredProject1* +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -622,59 +812,25 @@ 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/commonFile1.ts: - {} -/user/username/projects/myproject/folder/commonFile2.ts: *new* - {} -/user/username/projects/myproject/folder/tsconfig.json: - {} -/user/username/projects/myproject/tsconfig.json: +/user/username/projects/myproject/folder/commonFile2.ts: *new* {} -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* -/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 - /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/tsconfig.json - /dev/null/inferredProject1* + containingProjects: 1 + /dev/null/inferredProject2* /random/random.ts (Open) version: SVC-1-0 containingProjects: 1 - /dev/null/inferredProject1* *default* -/user/username/projects/myproject/folder/commonFile1.ts - version: Text-1 - containingProjects: 1 - /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject2* *default* /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 @@ -687,15 +843,7 @@ Info seq [hh:mm:ss:mss] request: "seq": 4, "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/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] Project '/dev/null/inferredProject2*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) Info seq [hh:mm:ss:mss] ----------------------------------------------- @@ -711,40 +859,25 @@ Info seq [hh:mm:ss:mss] response: After request Projects:: -/dev/null/inferredProject1* (Inferred) *changed* +/dev/null/inferredProject2* (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 -/user/username/projects/myproject/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 - noOpenRef: true ScriptInfos:: /a/lib/lib.d.ts version: Text-1 - containingProjects: 3 - /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/tsconfig.json - /dev/null/inferredProject1* + containingProjects: 1 + /dev/null/inferredProject2* /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: Text-1 - containingProjects: 1 - /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject2* *deleted* /user/username/projects/myproject/folder/commonFile2.ts version: SVC-1-0 - containingProjects: 1 - /user/username/projects/myproject/tsconfig.json + containingProjects: 0 Before request @@ -759,9 +892,9 @@ Info seq [hh:mm:ss:mss] request: "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] 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;" @@ -773,53 +906,14 @@ 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] `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 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/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/inferredProject1*' (Inferred) +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/inferredProject1* +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -833,64 +927,33 @@ Info seq [hh:mm:ss:mss] response: } 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/inferredProject1* (Inferred) *changed* +/dev/null/inferredProject2* (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 -/user/username/projects/myproject/tsconfig.json (Configured) *deleted* - projectStateVersion: 1 - projectProgramVersion: 1 - isClosed: true *changed* - noOpenRef: true ScriptInfos:: -/a/lib/lib.d.ts *changed* +/a/lib/lib.d.ts version: Text-1 - containingProjects: 1 *changed* - /dev/null/inferredProject1* - /user/username/projects/myproject/folder/tsconfig.json *deleted* - /user/username/projects/myproject/tsconfig.json *deleted* + containingProjects: 1 + /dev/null/inferredProject2* /random/random.ts (Open) *new* version: SVC-2-0 containingProjects: 1 - /dev/null/inferredProject1* *default* -/user/username/projects/myproject/folder/commonFile1.ts *deleted* - version: Text-1 - containingProjects: 0 *changed* - /user/username/projects/myproject/folder/tsconfig.json *deleted* + /dev/null/inferredProject2* *default* /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 @@ -903,7 +966,7 @@ Info seq [hh:mm:ss:mss] request: "seq": 6, "type": "request" } -Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +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] ----------------------------------------------- @@ -919,7 +982,7 @@ Info seq [hh:mm:ss:mss] response: After request Projects:: -/dev/null/inferredProject1* (Inferred) *changed* +/dev/null/inferredProject2* (Inferred) *changed* projectStateVersion: 3 *changed* projectProgramVersion: 1 dirty: true *changed* @@ -929,12 +992,12 @@ ScriptInfos:: /a/lib/lib.d.ts version: Text-1 containingProjects: 1 - /dev/null/inferredProject1* + /dev/null/inferredProject2* /random/random.ts *deleted* open: false *changed* version: SVC-2-0 containingProjects: 0 *changed* - /dev/null/inferredProject1* *deleted* + /dev/null/inferredProject2* *deleted* Before request @@ -1009,67 +1072,31 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/tsconfig.json 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] FileWatcher:: Added:: 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] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/user/username/projects/myproject/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/tsconfig.json : { - "rootNames": [ - "/user/username/projects/myproject/folder/commonFile2.ts" - ], - "options": { - "configFilePath": "/user/username/projects/myproject/tsconfig.json" - } -} -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] 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 + ../../../../../a/lib/lib.d.ts Default library for target 'es5' - folder/commonFile2.ts - Part of 'files' list in tsconfig.json + commonFile2.ts + Root file specified for compilation 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": "configFileDiag", - "body": { - "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", - "configFile": "/user/username/projects/myproject/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] Project '/dev/null/inferredProject2*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) /a/lib/lib.d.ts /random/random.ts @@ -1085,13 +1112,13 @@ Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tscon 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] 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: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject3* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -1106,8 +1133,12 @@ Info seq [hh:mm:ss:mss] response: 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* @@ -1124,26 +1155,27 @@ FsWatches:: {} Projects:: -/dev/null/inferredProject1* (Inferred) *deleted* +/dev/null/inferredProject2* (Inferred) *deleted* projectStateVersion: 3 projectProgramVersion: 1 dirty: true isClosed: true *changed* isOrphan: true -/user/username/projects/myproject/folder/tsconfig.json (Configured) *new* +/dev/null/inferredProject3* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 -/user/username/projects/myproject/tsconfig.json (Configured) *new* +/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* - /user/username/projects/myproject/tsconfig.json *new* - /dev/null/inferredProject1* *deleted* + /dev/null/inferredProject3* *new* + /dev/null/inferredProject2* *deleted* /user/username/projects/myproject/folder/commonFile1.ts *new* version: Text-2 containingProjects: 1 @@ -1151,28 +1183,36 @@ ScriptInfos:: /user/username/projects/myproject/folder/commonFile2.ts (Open) *new* version: SVC-2-0 containingProjects: 1 - /user/username/projects/myproject/tsconfig.json *default* + /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: 1 -4: *ensureProjectForOpenFiles* *new* +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) +/user/username/projects/myproject/tsconfig.json (Configured) *new* projectStateVersion: 1 - projectProgramVersion: 1 + projectProgramVersion: 0 + dirty: true Info seq [hh:mm:ss:mss] request: { @@ -1183,12 +1223,18 @@ Info seq [hh:mm:ss:mss] request: "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] ----------------------------------------------- @@ -1211,6 +1257,12 @@ PolledWatches:: /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: {} @@ -1224,6 +1276,11 @@ FsWatches:: {} 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 @@ -1232,7 +1289,8 @@ Projects:: deferredClose: true /user/username/projects/myproject/tsconfig.json (Configured) *changed* projectStateVersion: 1 - projectProgramVersion: 1 + projectProgramVersion: 0 + dirty: true noOpenRef: true *changed* ScriptInfos:: @@ -1240,7 +1298,7 @@ ScriptInfos:: version: Text-1 containingProjects: 2 /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/tsconfig.json + /dev/null/inferredProject3* /user/username/projects/myproject/folder/commonFile1.ts version: Text-2 containingProjects: 1 @@ -1248,8 +1306,8 @@ 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 *changed* + /dev/null/inferredProject3* *deleted* Before request @@ -1264,9 +1322,9 @@ Info seq [hh:mm:ss:mss] request: "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] 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;" @@ -1300,31 +1358,38 @@ 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/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 + ../../../../../a/lib/lib.d.ts Default library for target 'es5' - folder/commonFile2.ts - Part of 'files' list in tsconfig.json + commonFile2.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/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] 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/inferredProject2*' (Inferred) +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/inferredProject2* +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject4* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -1361,7 +1426,13 @@ FsWatches *deleted*:: {} Projects:: -/dev/null/inferredProject2* (Inferred) *new* +/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* @@ -1373,7 +1444,8 @@ Projects:: deferredClose: true /user/username/projects/myproject/tsconfig.json (Configured) *deleted* projectStateVersion: 1 - projectProgramVersion: 1 + projectProgramVersion: 0 + dirty: true isClosed: true *changed* noOpenRef: true @@ -1381,18 +1453,17 @@ ScriptInfos:: /a/lib/lib.d.ts *changed* version: Text-1 containingProjects: 1 *changed* - /dev/null/inferredProject2* *new* + /dev/null/inferredProject4* *new* /user/username/projects/myproject/folder/tsconfig.json *deleted* - /user/username/projects/myproject/tsconfig.json *deleted* + /dev/null/inferredProject3* *deleted* /random/random.ts (Open) *new* version: SVC-3-0 containingProjects: 1 - /dev/null/inferredProject2* *default* + /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 *changed* - /user/username/projects/myproject/tsconfig.json *deleted* + 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 0301d3d057e49..13eb40c7801f1 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 @@ -490,7 +490,6 @@ Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/com 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] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/tsconfig.json ProjectRootPath: undefined:: Result: /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) @@ -525,9 +524,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 @@ -556,11 +556,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] ----------------------------------------------- @@ -572,7 +586,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: @@ -588,6 +602,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 @@ -595,17 +627,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 @@ -614,10 +648,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 @@ -634,10 +668,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) @@ -645,7 +675,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: @@ -673,15 +703,21 @@ 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) *changed* + projectStateVersion: 2 + 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 @@ -694,8 +730,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 @@ -712,10 +747,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) @@ -751,28 +782,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) *changed* - projectStateVersion: 2 - projectProgramVersion: 1 - noOpenRef: true *changed* -/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 @@ -785,8 +800,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 @@ -802,10 +816,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) @@ -832,17 +842,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* @@ -855,8 +860,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 @@ -905,24 +909,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) @@ -964,8 +950,6 @@ FsWatches *deleted*:: {} /user/username/projects/myproject/folder/tsconfig.json: {} -/user/username/projects/myproject/tsconfig.json: - {} Projects:: /dev/null/inferredProject1* (Inferred) *changed* @@ -978,11 +962,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* @@ -990,7 +969,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 @@ -1001,8 +979,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 @@ -1201,70 +1178,45 @@ 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/folder/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/tsconfig.json 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] FileWatcher:: Added:: 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] event: { "seq": 0, "type": "event", - "event": "projectLoadingStart", + "event": "configFileDiag", "body": { - "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "Creating possible configured project for /user/username/projects/myproject/folder/commonFile2.ts to open" + "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] } } -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] 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] 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 + ../../../../../a/lib/lib.d.ts Default library for target 'es5' - folder/commonFile2.ts - Part of 'files' list in tsconfig.json + commonFile2.ts + Root file specified for compilation 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": "configFileDiag", - "body": { - "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", - "configFile": "/user/username/projects/myproject/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] Project '/user/username/projects/myproject/tsconfig.json' (Configured) +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] ----------------------------------------------- @@ -1272,7 +1224,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: /dev/null/inferredProject2* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -1287,8 +1239,12 @@ Info seq [hh:mm:ss:mss] response: 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: @@ -1303,10 +1259,10 @@ FsWatches:: {} Projects:: -/user/username/projects/myproject/folder/tsconfig.json (Configured) +/dev/null/inferredProject2* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 -/user/username/projects/myproject/tsconfig.json (Configured) *new* +/user/username/projects/myproject/folder/tsconfig.json (Configured) projectStateVersion: 1 projectProgramVersion: 1 @@ -1315,7 +1271,7 @@ ScriptInfos:: version: Text-1 containingProjects: 2 *changed* /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/tsconfig.json *new* + /dev/null/inferredProject2* *new* /user/username/projects/myproject/folder/commonFile1.ts (Open) version: SVC-2-0 containingProjects: 1 @@ -1323,32 +1279,98 @@ ScriptInfos:: /user/username/projects/myproject/folder/commonFile2.ts (Open) *new* version: SVC-2-0 containingProjects: 1 - /user/username/projects/myproject/tsconfig.json *default* + /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 +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/folder/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/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: 1 -5: *ensureProjectForOpenFiles* +Before running Timeout callback:: count: 2 +5: /user/username/projects/myproject/tsconfig.json +6: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/folder/tsconfig.json] deleted -Timeout callback:: count: 1 -5: *ensureProjectForOpenFiles* *new* +Timeout callback:: count: 2 +5: /user/username/projects/myproject/tsconfig.json *new* +6: *ensureProjectForOpenFiles* *new* Projects:: +/dev/null/inferredProject2* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 /user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* projectStateVersion: 1 projectProgramVersion: 1 isOrphan: true *changed* deferredClose: true *changed* -/user/username/projects/myproject/tsconfig.json (Configured) +/user/username/projects/myproject/tsconfig.json (Configured) *new* projectStateVersion: 1 - projectProgramVersion: 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/commonFile1.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-2-0 "let y = 1" + + + ../../../../a/lib/lib.d.ts + Default library for target 'es5' + folder/commonFile2.ts + Part of 'files' list in tsconfig.json -Host is moving to new time +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": "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) @@ -1358,23 +1380,20 @@ 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/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/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: undefined:: Result: undefined 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/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] 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; }" @@ -1421,17 +1440,23 @@ Info seq [hh:mm:ss:mss] event: After running Timeout callback:: count: 0 PolledWatches:: -/user/username/projects/myproject/folder/jsconfig.json: *new* - {"pollingInterval":2000} +/user/username/projects/myproject/folder/jsconfig.json: + {"pollingInterval":2000} *new* /user/username/projects/myproject/folder/node_modules/@types: {"pollingInterval":500} -/user/username/projects/myproject/jsconfig.json: *new* - {"pollingInterval":2000} +/user/username/projects/myproject/jsconfig.json: + {"pollingInterval":2000} *new* /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: {} @@ -1441,34 +1466,36 @@ FsWatches:: {} Projects:: -/dev/null/inferredProject2* (Inferred) *new* - projectStateVersion: 1 - projectProgramVersion: 1 +/dev/null/inferredProject2* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 2 *changed* /user/username/projects/myproject/folder/tsconfig.json (Configured) projectStateVersion: 1 projectProgramVersion: 1 isOrphan: true deferredClose: true -/user/username/projects/myproject/tsconfig.json (Configured) +/user/username/projects/myproject/tsconfig.json (Configured) *changed* projectStateVersion: 1 - projectProgramVersion: 1 + projectProgramVersion: 1 *changed* + dirty: false *changed* ScriptInfos:: /a/lib/lib.d.ts *changed* version: Text-1 containingProjects: 3 *changed* /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/tsconfig.json - /dev/null/inferredProject2* *new* + /dev/null/inferredProject2* + /user/username/projects/myproject/tsconfig.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) +/user/username/projects/myproject/folder/commonFile2.ts (Open) *changed* version: SVC-2-0 - containingProjects: 1 - /user/username/projects/myproject/tsconfig.json *default* + containingProjects: 1 *changed* + /user/username/projects/myproject/tsconfig.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 @@ -1477,8 +1504,8 @@ 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 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 -6: /user/username/projects/myproject/folder/tsconfig.json -7: *ensureProjectForOpenFiles* +7: /user/username/projects/myproject/folder/tsconfig.json +8: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/folder/tsconfig.json] { "files": [ @@ -1488,13 +1515,13 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -6: /user/username/projects/myproject/folder/tsconfig.json *new* -7: *ensureProjectForOpenFiles* *new* +7: /user/username/projects/myproject/folder/tsconfig.json *new* +8: *ensureProjectForOpenFiles* *new* Projects:: /dev/null/inferredProject2* (Inferred) - projectStateVersion: 1 - projectProgramVersion: 1 + projectStateVersion: 2 + projectProgramVersion: 2 /user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* projectStateVersion: 2 *changed* projectProgramVersion: 1 @@ -1566,11 +1593,10 @@ Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/com 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/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/tsconfig.json ProjectRootPath: undefined:: Result: /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: /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] 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) @@ -1634,16 +1660,17 @@ FsWatches:: Projects:: /dev/null/inferredProject2* (Inferred) *changed* - projectStateVersion: 2 *changed* - projectProgramVersion: 2 *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 3 *changed* isOrphan: true *changed* /user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* 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* @@ -1690,6 +1717,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) @@ -1705,10 +1750,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) @@ -1718,7 +1759,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: @@ -1734,10 +1775,28 @@ 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: 2 - projectProgramVersion: 2 + projectStateVersion: 3 + projectProgramVersion: 3 isClosed: true *changed* isOrphan: true /dev/null/inferredProject3* (Inferred) *new* @@ -1746,17 +1805,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 @@ -1765,10 +1826,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 @@ -1785,10 +1846,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) @@ -1796,7 +1853,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: @@ -1824,15 +1881,21 @@ 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) *changed* + projectStateVersion: 2 + 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 @@ -1845,8 +1908,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 @@ -1863,10 +1925,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) @@ -1902,28 +1960,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) *changed* - projectStateVersion: 2 - projectProgramVersion: 1 - noOpenRef: true *changed* -/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 @@ -1936,8 +1978,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 @@ -1953,10 +1994,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) @@ -1983,17 +2020,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* @@ -2006,8 +2038,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 @@ -2056,24 +2087,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/inferredProject3*' (Inferred) @@ -2115,8 +2128,6 @@ FsWatches *deleted*:: {} /user/username/projects/myproject/folder/tsconfig.json: {} -/user/username/projects/myproject/tsconfig.json: - {} Projects:: /dev/null/inferredProject3* (Inferred) *changed* @@ -2129,11 +2140,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* @@ -2141,7 +2147,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 @@ -2152,8 +2157,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 @@ -2368,8 +2372,8 @@ FsWatches:: {} Timeout callback:: count: 2 -8: /user/username/projects/myproject/tsconfig.json *new* -9: *ensureProjectForOpenFiles* *new* +9: /user/username/projects/myproject/tsconfig.json *new* +10: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* @@ -3012,10 +3016,10 @@ FsWatches:: {} Timeout callback:: count: 2 -8: /user/username/projects/myproject/tsconfig.json *deleted* -9: *ensureProjectForOpenFiles* *deleted* -10: /user/username/projects/myproject/tsconfig.json *new* -11: *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* @@ -3840,10 +3844,10 @@ FsWatches:: {} Timeout callback:: count: 2 -10: /user/username/projects/myproject/tsconfig.json *deleted* -11: *ensureProjectForOpenFiles* *deleted* -12: /user/username/projects/myproject/tsconfig.json *new* -13: *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* @@ -4649,70 +4653,45 @@ 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/folder/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/tsconfig.json 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] FileWatcher:: Added:: 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] event: { "seq": 0, "type": "event", - "event": "projectLoadingStart", + "event": "configFileDiag", "body": { - "projectName": "/user/username/projects/myproject/tsconfig.json", - "reason": "Creating possible configured project for /user/username/projects/myproject/folder/commonFile2.ts to open" + "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] } } -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] 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] 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 + ../../../../../a/lib/lib.d.ts Default library for target 'es5' - folder/commonFile2.ts - Part of 'files' list in tsconfig.json + commonFile2.ts + Root file specified for compilation 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": "configFileDiag", - "body": { - "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", - "configFile": "/user/username/projects/myproject/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] Project '/user/username/projects/myproject/tsconfig.json' (Configured) +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] ----------------------------------------------- @@ -4720,7 +4699,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: /dev/null/inferredProject7* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -4735,8 +4714,12 @@ Info seq [hh:mm:ss:mss] response: 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: @@ -4751,10 +4734,10 @@ FsWatches:: {} Projects:: -/user/username/projects/myproject/folder/tsconfig.json (Configured) +/dev/null/inferredProject7* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 -/user/username/projects/myproject/tsconfig.json (Configured) *new* +/user/username/projects/myproject/folder/tsconfig.json (Configured) projectStateVersion: 1 projectProgramVersion: 1 @@ -4763,7 +4746,7 @@ ScriptInfos:: version: Text-1 containingProjects: 2 *changed* /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/tsconfig.json *new* + /dev/null/inferredProject7* *new* /user/username/projects/myproject/folder/commonFile1.ts (Open) version: SVC-6-0 containingProjects: 1 @@ -4771,7 +4754,7 @@ ScriptInfos:: /user/username/projects/myproject/folder/commonFile2.ts (Open) *new* version: SVC-6-0 containingProjects: 1 - /user/username/projects/myproject/tsconfig.json *default* + /dev/null/inferredProject7* *default* Before request @@ -4784,12 +4767,15 @@ Info seq [hh:mm:ss:mss] request: "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 '/user/username/projects/myproject/tsconfig.json' (Configured) +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] ----------------------------------------------- @@ -4814,6 +4800,12 @@ PolledWatches:: /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: {} @@ -4821,24 +4813,27 @@ FsWatches:: {} /user/username/projects/myproject/folder/tsconfig.json: {} + +FsWatches *deleted*:: /user/username/projects/myproject/tsconfig.json: {} Projects:: -/user/username/projects/myproject/folder/tsconfig.json (Configured) - projectStateVersion: 1 +/dev/null/inferredProject7* (Inferred) *changed* + projectStateVersion: 2 *changed* projectProgramVersion: 1 -/user/username/projects/myproject/tsconfig.json (Configured) *changed* + dirty: true *changed* + isOrphan: true *changed* +/user/username/projects/myproject/folder/tsconfig.json (Configured) projectStateVersion: 1 projectProgramVersion: 1 - noOpenRef: true *changed* ScriptInfos:: /a/lib/lib.d.ts version: Text-1 containingProjects: 2 /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/tsconfig.json + /dev/null/inferredProject7* /user/username/projects/myproject/folder/commonFile1.ts (Open) version: SVC-6-0 containingProjects: 1 @@ -4846,8 +4841,8 @@ ScriptInfos:: /user/username/projects/myproject/folder/commonFile2.ts *changed* open: false *changed* version: SVC-6-0 - containingProjects: 1 - /user/username/projects/myproject/tsconfig.json + containingProjects: 0 *changed* + /dev/null/inferredProject7* *deleted* Before request @@ -4862,9 +4857,9 @@ Info seq [hh:mm:ss:mss] request: "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/inferredProject7* -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] 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;" @@ -4877,29 +4872,30 @@ 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] 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 + ../../../../../a/lib/lib.d.ts Default library for target 'es5' - folder/commonFile2.ts - Part of 'files' list in tsconfig.json + commonFile2.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/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] 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/inferredProject7*' (Inferred) +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] ----------------------------------------------- @@ -4907,7 +4903,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: /random/random.ts ProjectRootPath: undefined -Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject7* +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject8* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -4938,38 +4934,36 @@ FsWatches:: FsWatches *deleted*:: /user/username/projects/myproject/folder/commonFile2.ts: {} -/user/username/projects/myproject/tsconfig.json: - {} Projects:: -/dev/null/inferredProject7* (Inferred) *new* - projectStateVersion: 1 +/dev/null/inferredProject7* (Inferred) *deleted* + projectStateVersion: 2 projectProgramVersion: 1 -/user/username/projects/myproject/folder/tsconfig.json (Configured) + dirty: true + isClosed: true *changed* + isOrphan: true +/dev/null/inferredProject8* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 -/user/username/projects/myproject/tsconfig.json (Configured) *deleted* +/user/username/projects/myproject/folder/tsconfig.json (Configured) projectStateVersion: 1 projectProgramVersion: 1 - isClosed: true *changed* - noOpenRef: true 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/tsconfig.json *deleted* + /dev/null/inferredProject8* *new* + /dev/null/inferredProject7* *deleted* /random/random.ts (Open) *new* version: SVC-10-0 containingProjects: 1 - /dev/null/inferredProject7* *default* + /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 *changed* - /user/username/projects/myproject/tsconfig.json *deleted* + 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 index f92af5cb7e3da..66256be28d78e 100644 --- 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 @@ -151,9 +151,131 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/tsconfig.json ProjectRootPath: undefined:: Result: /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 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: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 1, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +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] 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 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, @@ -161,7 +283,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/user/username/projects/myproject/folder/jsconfig.json", - "reason": "Creating possible configured project for /user/username/projects/myproject/folder/commonFile2.ts to open" + "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 : { @@ -177,6 +299,8 @@ Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/folder/jsconf "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 @@ -259,11 +383,13 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "configFileDiag", "body": { - "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", + "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) @@ -272,99 +398,21 @@ Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/jscon Info seq [hh:mm: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: - { - "seq": 0, - "type": "response", - "command": "open", - "request_seq": 1, - "success": true, - "performanceData": { - "updateGraphDurationMs": * - } - } -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/commonFile1.ts: *new* - {} -/user/username/projects/myproject/folder/jsconfig.json: *new* - {} -/user/username/projects/myproject/folder/tsconfig.json: *new* - {} - -Projects:: -/user/username/projects/myproject/folder/jsconfig.json (Configured) *new* - projectStateVersion: 1 - projectProgramVersion: 1 -/user/username/projects/myproject/folder/tsconfig.json (Configured) *new* - projectStateVersion: 1 - projectProgramVersion: 1 - -ScriptInfos:: -/a/lib/lib.d.ts *new* - 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 *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 - /user/username/projects/myproject/folder/jsconfig.json *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] 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: 1 -1: *ensureProjectForOpenFiles* -//// [/user/username/projects/myproject/folder/tsconfig.json] deleted - -Timeout callback:: count: 1 -1: *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: 1 - projectProgramVersion: 1 - isOrphan: true *changed* - deferredClose: true *changed* - -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 '/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] 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) @@ -373,6 +421,10 @@ 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 @@ -391,14 +443,70 @@ Info seq [hh:mm:ss:mss] event: } 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 -2: /user/username/projects/myproject/folder/tsconfig.json -3: *ensureProjectForOpenFiles* +3: /user/username/projects/myproject/folder/tsconfig.json +4: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/folder/tsconfig.json] { "files": [ @@ -408,10 +516,14 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -2: /user/username/projects/myproject/folder/tsconfig.json *new* -3: *ensureProjectForOpenFiles* *new* +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 @@ -473,11 +585,14 @@ 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] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/tsconfig.json ProjectRootPath: undefined:: Result: /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) @@ -486,6 +601,10 @@ 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 @@ -505,13 +624,19 @@ Info seq [hh:mm:ss:mss] event: After running Timeout callback:: count: 0 Projects:: -/user/username/projects/myproject/folder/jsconfig.json (Configured) +/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 @@ -526,9 +651,9 @@ Info seq [hh:mm:ss:mss] request: "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] 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;" @@ -540,23 +665,69 @@ 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] `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: /user/username/projects/myproject/folder/jsconfig.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] Projects: /dev/null/inferredProject2* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -570,36 +741,65 @@ Info seq [hh:mm:ss:mss] response: } 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) *new* +/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) +/user/username/projects/myproject/folder/jsconfig.json (Configured) *deleted* projectStateVersion: 1 projectProgramVersion: 1 -/user/username/projects/myproject/folder/tsconfig.json (Configured) + 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: 3 *changed* - /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/folder/jsconfig.json - /dev/null/inferredProject1* *new* + 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/inferredProject1* *default* -/user/username/projects/myproject/folder/commonFile1.ts + /dev/null/inferredProject2* *default* +/user/username/projects/myproject/folder/commonFile1.ts *deleted* version: Text-1 - containingProjects: 1 - /user/username/projects/myproject/folder/tsconfig.json -/user/username/projects/myproject/folder/commonFile2.ts (Open) + 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: 1 - /user/username/projects/myproject/folder/jsconfig.json *default* + containingProjects: 0 *changed* + /user/username/projects/myproject/folder/jsconfig.json *deleted* Before request @@ -613,21 +813,13 @@ Info seq [hh:mm:ss:mss] request: "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/inferredProject1*' (Inferred) +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/inferredProject1* +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -638,59 +830,25 @@ 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/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/inferredProject1* (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: 2 - projectProgramVersion: 1 - noOpenRef: true *changed* 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/inferredProject1* + containingProjects: 1 + /dev/null/inferredProject2* /random/random.ts (Open) version: SVC-1-0 containingProjects: 1 - /dev/null/inferredProject1* *default* -/user/username/projects/myproject/folder/commonFile1.ts - version: Text-1 - containingProjects: 1 - /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject2* *default* /user/username/projects/myproject/folder/commonFile2.ts *changed* open: false *changed* version: SVC-1-0 - containingProjects: 1 - /user/username/projects/myproject/folder/jsconfig.json + containingProjects: 0 Before request @@ -703,15 +861,7 @@ Info seq [hh:mm:ss:mss] request: "seq": 4, "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/inferredProject1*' (Inferred) +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] ----------------------------------------------- @@ -727,40 +877,25 @@ Info seq [hh:mm:ss:mss] response: After request Projects:: -/dev/null/inferredProject1* (Inferred) *changed* +/dev/null/inferredProject2* (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: 2 - projectProgramVersion: 1 - noOpenRef: 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/inferredProject1* + containingProjects: 1 + /dev/null/inferredProject2* /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: Text-1 - containingProjects: 1 - /user/username/projects/myproject/folder/tsconfig.json + /dev/null/inferredProject2* *deleted* /user/username/projects/myproject/folder/commonFile2.ts version: SVC-1-0 - containingProjects: 1 - /user/username/projects/myproject/folder/jsconfig.json + containingProjects: 0 Before request @@ -775,9 +910,9 @@ Info seq [hh:mm:ss:mss] request: "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] 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;" @@ -789,55 +924,14 @@ 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] `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] 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/inferredProject1*' (Inferred) +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/inferredProject1* +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -851,64 +945,33 @@ Info seq [hh:mm:ss:mss] response: } 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/inferredProject1* (Inferred) *changed* +/dev/null/inferredProject2* (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: 2 - projectProgramVersion: 1 - isClosed: true *changed* - noOpenRef: true ScriptInfos:: -/a/lib/lib.d.ts *changed* +/a/lib/lib.d.ts version: Text-1 - containingProjects: 1 *changed* - /dev/null/inferredProject1* - /user/username/projects/myproject/folder/tsconfig.json *deleted* - /user/username/projects/myproject/folder/jsconfig.json *deleted* + containingProjects: 1 + /dev/null/inferredProject2* /random/random.ts (Open) *new* version: SVC-2-0 containingProjects: 1 - /dev/null/inferredProject1* *default* -/user/username/projects/myproject/folder/commonFile1.ts *deleted* - version: Text-1 - containingProjects: 0 *changed* - /user/username/projects/myproject/folder/tsconfig.json *deleted* + /dev/null/inferredProject2* *default* /user/username/projects/myproject/folder/commonFile2.ts *deleted* version: SVC-1-0 - containingProjects: 0 *changed* - /user/username/projects/myproject/folder/jsconfig.json *deleted* + containingProjects: 0 Before request @@ -921,7 +984,7 @@ Info seq [hh:mm:ss:mss] request: "seq": 6, "type": "request" } -Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +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] ----------------------------------------------- @@ -937,7 +1000,7 @@ Info seq [hh:mm:ss:mss] response: After request Projects:: -/dev/null/inferredProject1* (Inferred) *changed* +/dev/null/inferredProject2* (Inferred) *changed* projectStateVersion: 3 *changed* projectProgramVersion: 1 dirty: true *changed* @@ -947,12 +1010,12 @@ ScriptInfos:: /a/lib/lib.d.ts version: Text-1 containingProjects: 1 - /dev/null/inferredProject1* + /dev/null/inferredProject2* /random/random.ts *deleted* open: false *changed* version: SVC-2-0 containingProjects: 0 *changed* - /dev/null/inferredProject1* *deleted* + /dev/null/inferredProject2* *deleted* Before request @@ -1027,41 +1090,18 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/tsconfig.json 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] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/user/username/projects/myproject/folder/jsconfig.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/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] 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" @@ -1070,31 +1110,11 @@ Info seq [hh:mm:ss:mss] Files (2) ../../../../../a/lib/lib.d.ts Default library for target 'es5' commonFile2.ts - Part of 'files' list in tsconfig.json + Root file specified for compilation 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] `remove Project:: -Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +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 @@ -1110,13 +1130,13 @@ Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/folder/tscon 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] 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: /user/username/projects/myproject/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject3* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -1133,8 +1153,12 @@ 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} @@ -1149,26 +1173,27 @@ FsWatches:: {} Projects:: -/dev/null/inferredProject1* (Inferred) *deleted* +/dev/null/inferredProject2* (Inferred) *deleted* projectStateVersion: 3 projectProgramVersion: 1 dirty: true isClosed: true *changed* isOrphan: true -/user/username/projects/myproject/folder/jsconfig.json (Configured) *new* +/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* - /user/username/projects/myproject/folder/jsconfig.json *new* - /dev/null/inferredProject1* *deleted* + /dev/null/inferredProject3* *new* + /dev/null/inferredProject2* *deleted* /user/username/projects/myproject/folder/commonFile1.ts *new* version: Text-2 containingProjects: 1 @@ -1176,27 +1201,35 @@ ScriptInfos:: /user/username/projects/myproject/folder/commonFile2.ts (Open) *new* version: SVC-2-0 containingProjects: 1 - /user/username/projects/myproject/folder/jsconfig.json *default* + /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: 1 -4: *ensureProjectForOpenFiles* *new* +Timeout callback:: count: 2 +5: /user/username/projects/myproject/folder/jsconfig.json *new* +6: *ensureProjectForOpenFiles* *new* Projects:: -/user/username/projects/myproject/folder/jsconfig.json (Configured) +/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: @@ -1208,12 +1241,18 @@ Info seq [hh:mm:ss:mss] request: "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] ----------------------------------------------- @@ -1236,6 +1275,12 @@ PolledWatches:: /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: {} @@ -1249,9 +1294,15 @@ FsWatches:: {} 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: 1 + projectProgramVersion: 0 + dirty: true noOpenRef: true *changed* /user/username/projects/myproject/folder/tsconfig.json (Configured) *changed* projectStateVersion: 1 @@ -1265,7 +1316,7 @@ ScriptInfos:: version: Text-1 containingProjects: 2 /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/folder/jsconfig.json + /dev/null/inferredProject3* /user/username/projects/myproject/folder/commonFile1.ts version: Text-2 containingProjects: 1 @@ -1273,8 +1324,8 @@ ScriptInfos:: /user/username/projects/myproject/folder/commonFile2.ts *changed* open: false *changed* version: SVC-2-0 - containingProjects: 1 - /user/username/projects/myproject/folder/jsconfig.json + containingProjects: 0 *changed* + /dev/null/inferredProject3* *deleted* Before request @@ -1289,9 +1340,9 @@ Info seq [hh:mm:ss:mss] request: "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] 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;" @@ -1325,6 +1376,12 @@ 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/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 @@ -1333,25 +1390,24 @@ Info seq [hh:mm:ss:mss] Files (2) ../../../../../a/lib/lib.d.ts Default library for target 'es5' commonFile2.ts - Part of 'files' list in tsconfig.json + 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/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] 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/inferredProject2*' (Inferred) +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/inferredProject2* +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject4* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -1388,12 +1444,19 @@ FsWatches *deleted*:: {} Projects:: -/dev/null/inferredProject2* (Inferred) *new* +/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: 1 + projectProgramVersion: 0 + dirty: true isClosed: true *changed* noOpenRef: true /user/username/projects/myproject/folder/tsconfig.json (Configured) *deleted* @@ -1408,18 +1471,17 @@ ScriptInfos:: /a/lib/lib.d.ts *changed* version: Text-1 containingProjects: 1 *changed* - /dev/null/inferredProject2* *new* + /dev/null/inferredProject4* *new* /user/username/projects/myproject/folder/tsconfig.json *deleted* - /user/username/projects/myproject/folder/jsconfig.json *deleted* + /dev/null/inferredProject3* *deleted* /random/random.ts (Open) *new* version: SVC-3-0 containingProjects: 1 - /dev/null/inferredProject2* *default* + /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 *changed* - /user/username/projects/myproject/folder/jsconfig.json *deleted* + 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 index ea7a44f2cfe89..3a1622d2eda4d 100644 --- 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 @@ -506,7 +506,6 @@ Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/com 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] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/tsconfig.json ProjectRootPath: undefined:: Result: /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) @@ -537,9 +536,10 @@ Info seq [hh:mm:ss:mss] event: After running Timeout callback:: count: 0 Projects:: -/user/username/projects/myproject/folder/jsconfig.json (Configured) +/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 @@ -572,11 +572,27 @@ 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/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] Project '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +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] ----------------------------------------------- @@ -588,7 +604,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/folder/jsconfig.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: @@ -604,13 +620,33 @@ 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/folder/jsconfig.json: + {} + Projects:: /dev/null/inferredProject1* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 -/user/username/projects/myproject/folder/jsconfig.json (Configured) +/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 @@ -618,10 +654,10 @@ Projects:: 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/folder/jsconfig.json /dev/null/inferredProject1* *new* + /user/username/projects/myproject/folder/jsconfig.json *deleted* /random/random.ts (Open) *new* version: SVC-1-0 containingProjects: 1 @@ -630,10 +666,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/folder/jsconfig.json *default* + containingProjects: 0 *changed* + /user/username/projects/myproject/folder/jsconfig.json *deleted* Before request @@ -650,10 +686,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/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) @@ -661,7 +693,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/folder/jsconfig.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: @@ -687,17 +719,23 @@ FsWatches:: {} /user/username/projects/myproject/folder/commonFile1.ts: *new* {} -/user/username/projects/myproject/folder/jsconfig.json: - {} /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: 3 + containingProjects: 2 /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/folder/jsconfig.json /dev/null/inferredProject1* /random/random.ts (Open) version: SVC-1-0 @@ -710,8 +748,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/folder/jsconfig.json *default* + containingProjects: 0 Before request @@ -728,10 +765,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/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) @@ -765,30 +798,14 @@ FsWatches:: {} /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/inferredProject1* (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: 2 - 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/folder/jsconfig.json /dev/null/inferredProject1* /random/random.ts (Open) version: SVC-1-0 @@ -801,8 +818,7 @@ ScriptInfos:: /user/username/projects/myproject/folder/commonFile2.ts *changed* open: false *changed* version: SVC-1-0 - containingProjects: 1 - /user/username/projects/myproject/folder/jsconfig.json + containingProjects: 0 Before request @@ -818,10 +834,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/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) @@ -844,10 +856,6 @@ Projects:: 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: 2 projectProgramVersion: 1 @@ -856,9 +864,8 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts version: Text-1 - containingProjects: 3 + containingProjects: 2 /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/folder/jsconfig.json /dev/null/inferredProject1* /random/random.ts *deleted* open: false *changed* @@ -871,8 +878,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/folder/jsconfig.json + containingProjects: 0 Before request @@ -921,26 +927,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/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/inferredProject1*' (Inferred) @@ -980,8 +966,6 @@ FsWatches *deleted*:: {} /user/username/projects/myproject/folder/commonFile2.ts: {} -/user/username/projects/myproject/folder/jsconfig.json: - {} /user/username/projects/myproject/folder/tsconfig.json: {} @@ -991,11 +975,6 @@ Projects:: 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: 2 projectProgramVersion: 1 @@ -1008,7 +987,6 @@ ScriptInfos:: containingProjects: 1 *changed* /dev/null/inferredProject1* /user/username/projects/myproject/folder/tsconfig.json *deleted* - /user/username/projects/myproject/folder/jsconfig.json *deleted* /random/random.ts (Open) *new* version: SVC-2-0 containingProjects: 1 @@ -1019,8 +997,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/folder/jsconfig.json *deleted* + containingProjects: 0 Before request @@ -1219,41 +1196,29 @@ 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/folder/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/tsconfig.json 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] event: { "seq": 0, "type": "event", - "event": "projectLoadingStart", + "event": "configFileDiag", "body": { - "projectName": "/user/username/projects/myproject/folder/jsconfig.json", - "reason": "Creating possible configured project for /user/username/projects/myproject/folder/commonFile2.ts to open" + "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] } } -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] 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" @@ -1262,34 +1227,14 @@ Info seq [hh:mm:ss:mss] Files (2) ../../../../../a/lib/lib.d.ts Default library for target 'es5' commonFile2.ts - Part of 'files' list in tsconfig.json + Root file specified for compilation 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] Project '/dev/null/inferredProject2*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) Info seq [hh:mm:ss:mss] ----------------------------------------------- @@ -1297,7 +1242,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/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -1314,8 +1259,12 @@ 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} @@ -1328,7 +1277,7 @@ FsWatches:: {} Projects:: -/user/username/projects/myproject/folder/jsconfig.json (Configured) *new* +/dev/null/inferredProject2* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 /user/username/projects/myproject/folder/tsconfig.json (Configured) @@ -1340,7 +1289,7 @@ ScriptInfos:: version: Text-1 containingProjects: 2 *changed* /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/folder/jsconfig.json *new* + /dev/null/inferredProject2* *new* /user/username/projects/myproject/folder/commonFile1.ts (Open) version: SVC-2-0 containingProjects: 1 @@ -1348,32 +1297,105 @@ ScriptInfos:: /user/username/projects/myproject/folder/commonFile2.ts (Open) *new* version: SVC-2-0 containingProjects: 1 - /user/username/projects/myproject/folder/jsconfig.json *default* + /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: 1 -5: *ensureProjectForOpenFiles* +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: 1 -5: *ensureProjectForOpenFiles* *new* +Timeout callback:: count: 2 +5: /user/username/projects/myproject/folder/jsconfig.json *new* +6: *ensureProjectForOpenFiles* *new* Projects:: -/user/username/projects/myproject/folder/jsconfig.json (Configured) +/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* -Host is moving to new time +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) @@ -1383,23 +1405,20 @@ 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] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/jsconfig.json ProjectRootPath: undefined:: Result: undefined 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] 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; }" @@ -1448,15 +1467,21 @@ After running Timeout callback:: count: 0 PolledWatches:: /user/username/projects/myproject/folder/node_modules/@types: {"pollingInterval":500} -/user/username/projects/myproject/jsconfig.json: *new* - {"pollingInterval":2000} +/user/username/projects/myproject/jsconfig.json: + {"pollingInterval":2000} *new* /user/username/projects/myproject/node_modules/@types: {"pollingInterval":500} -/user/username/projects/myproject/tsconfig.json: *new* - {"pollingInterval":2000} +/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: {} @@ -1466,12 +1491,13 @@ FsWatches:: {} Projects:: -/dev/null/inferredProject2* (Inferred) *new* - projectStateVersion: 1 - projectProgramVersion: 1 -/user/username/projects/myproject/folder/jsconfig.json (Configured) +/dev/null/inferredProject2* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 2 *changed* +/user/username/projects/myproject/folder/jsconfig.json (Configured) *changed* projectStateVersion: 1 - projectProgramVersion: 1 + projectProgramVersion: 1 *changed* + dirty: false *changed* /user/username/projects/myproject/folder/tsconfig.json (Configured) projectStateVersion: 1 projectProgramVersion: 1 @@ -1483,17 +1509,18 @@ ScriptInfos:: version: Text-1 containingProjects: 3 *changed* /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/folder/jsconfig.json - /dev/null/inferredProject2* *new* + /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) +/user/username/projects/myproject/folder/commonFile2.ts (Open) *changed* version: SVC-2-0 - containingProjects: 1 - /user/username/projects/myproject/folder/jsconfig.json *default* + 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 @@ -1502,8 +1529,8 @@ 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 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 -6: /user/username/projects/myproject/folder/tsconfig.json -7: *ensureProjectForOpenFiles* +7: /user/username/projects/myproject/folder/tsconfig.json +8: *ensureProjectForOpenFiles* //// [/user/username/projects/myproject/folder/tsconfig.json] { "files": [ @@ -1513,13 +1540,13 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -6: /user/username/projects/myproject/folder/tsconfig.json *new* -7: *ensureProjectForOpenFiles* *new* +7: /user/username/projects/myproject/folder/tsconfig.json *new* +8: *ensureProjectForOpenFiles* *new* Projects:: /dev/null/inferredProject2* (Inferred) - projectStateVersion: 1 - projectProgramVersion: 1 + projectStateVersion: 2 + projectProgramVersion: 2 /user/username/projects/myproject/folder/jsconfig.json (Configured) projectStateVersion: 1 projectProgramVersion: 1 @@ -1591,11 +1618,10 @@ Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/folder/com 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] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/tsconfig.json ProjectRootPath: undefined:: Result: /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: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms +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) @@ -1659,12 +1685,13 @@ FsWatches:: Projects:: /dev/null/inferredProject2* (Inferred) *changed* - projectStateVersion: 2 *changed* - projectProgramVersion: 2 *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 3 *changed* isOrphan: true *changed* -/user/username/projects/myproject/folder/jsconfig.json (Configured) +/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 @@ -1715,6 +1742,26 @@ 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/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) @@ -1730,10 +1777,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/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/inferredProject3*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) @@ -1743,7 +1786,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/folder/jsconfig.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: @@ -1759,18 +1802,38 @@ 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/folder/jsconfig.json: + {} + Projects:: /dev/null/inferredProject2* (Inferred) *deleted* - projectStateVersion: 2 - projectProgramVersion: 2 + 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) +/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 @@ -1778,10 +1841,10 @@ Projects:: 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/folder/jsconfig.json /dev/null/inferredProject3* *new* + /user/username/projects/myproject/folder/jsconfig.json *deleted* /random/random.ts (Open) *new* version: SVC-3-0 containingProjects: 1 @@ -1790,10 +1853,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/folder/jsconfig.json *default* + containingProjects: 0 *changed* + /user/username/projects/myproject/folder/jsconfig.json *deleted* Before request @@ -1810,10 +1873,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/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/inferredProject3*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) @@ -1821,7 +1880,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/folder/jsconfig.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: @@ -1847,17 +1906,23 @@ FsWatches:: {} /user/username/projects/myproject/folder/commonFile1.ts: *new* {} -/user/username/projects/myproject/folder/jsconfig.json: - {} /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: 3 + containingProjects: 2 /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/folder/jsconfig.json /dev/null/inferredProject3* /random/random.ts (Open) version: SVC-3-0 @@ -1870,8 +1935,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/folder/jsconfig.json *default* + containingProjects: 0 Before request @@ -1888,10 +1952,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/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/inferredProject3*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) @@ -1925,30 +1985,14 @@ FsWatches:: {} /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) - 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: 2 - 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/folder/jsconfig.json /dev/null/inferredProject3* /random/random.ts (Open) version: SVC-3-0 @@ -1961,8 +2005,7 @@ ScriptInfos:: /user/username/projects/myproject/folder/commonFile2.ts *changed* open: false *changed* version: SVC-2-0 - containingProjects: 1 - /user/username/projects/myproject/folder/jsconfig.json + containingProjects: 0 Before request @@ -1978,10 +2021,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/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/inferredProject3*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) @@ -2004,10 +2043,6 @@ Projects:: 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: 2 projectProgramVersion: 1 @@ -2016,9 +2051,8 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts version: Text-1 - containingProjects: 3 + containingProjects: 2 /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/folder/jsconfig.json /dev/null/inferredProject3* /random/random.ts *deleted* open: false *changed* @@ -2031,8 +2065,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/folder/jsconfig.json + containingProjects: 0 Before request @@ -2081,26 +2114,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/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/inferredProject3*' (Inferred) @@ -2140,8 +2153,6 @@ FsWatches *deleted*:: {} /user/username/projects/myproject/folder/commonFile2.ts: {} -/user/username/projects/myproject/folder/jsconfig.json: - {} /user/username/projects/myproject/folder/tsconfig.json: {} @@ -2151,11 +2162,6 @@ Projects:: 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: 2 projectProgramVersion: 1 @@ -2168,7 +2174,6 @@ ScriptInfos:: containingProjects: 1 *changed* /dev/null/inferredProject3* /user/username/projects/myproject/folder/tsconfig.json *deleted* - /user/username/projects/myproject/folder/jsconfig.json *deleted* /random/random.ts (Open) *new* version: SVC-4-0 containingProjects: 1 @@ -2179,8 +2184,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/folder/jsconfig.json *deleted* + containingProjects: 0 Before request @@ -2395,8 +2399,8 @@ FsWatches:: {} Timeout callback:: count: 2 -8: /user/username/projects/myproject/folder/jsconfig.json *new* -9: *ensureProjectForOpenFiles* *new* +9: /user/username/projects/myproject/folder/jsconfig.json *new* +10: *ensureProjectForOpenFiles* *new* Projects:: /user/username/projects/myproject/folder/jsconfig.json (Configured) *new* @@ -3048,10 +3052,10 @@ FsWatches:: {} Timeout callback:: count: 2 -8: /user/username/projects/myproject/folder/jsconfig.json *deleted* -9: *ensureProjectForOpenFiles* *deleted* -10: /user/username/projects/myproject/folder/jsconfig.json *new* -11: *ensureProjectForOpenFiles* *new* +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* @@ -3885,10 +3889,10 @@ FsWatches:: {} Timeout callback:: count: 2 -10: /user/username/projects/myproject/folder/jsconfig.json *deleted* -11: *ensureProjectForOpenFiles* *deleted* -12: /user/username/projects/myproject/folder/jsconfig.json *new* -13: *ensureProjectForOpenFiles* *new* +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* @@ -4703,41 +4707,29 @@ 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/folder/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/folder/tsconfig.json 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] event: { "seq": 0, "type": "event", - "event": "projectLoadingStart", + "event": "configFileDiag", "body": { - "projectName": "/user/username/projects/myproject/folder/jsconfig.json", - "reason": "Creating possible configured project for /user/username/projects/myproject/folder/commonFile2.ts to open" + "triggerFile": "/user/username/projects/myproject/folder/commonFile2.ts", + "configFile": "/user/username/projects/myproject/folder/tsconfig.json", + "diagnostics": [] } } -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] 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" @@ -4746,34 +4738,14 @@ Info seq [hh:mm:ss:mss] Files (2) ../../../../../a/lib/lib.d.ts Default library for target 'es5' commonFile2.ts - Part of 'files' list in tsconfig.json + Root file specified for compilation 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] Project '/dev/null/inferredProject7*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) Info seq [hh:mm:ss:mss] ----------------------------------------------- @@ -4781,7 +4753,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/folder/jsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject7* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -4798,8 +4770,12 @@ 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} @@ -4812,7 +4788,7 @@ FsWatches:: {} Projects:: -/user/username/projects/myproject/folder/jsconfig.json (Configured) *new* +/dev/null/inferredProject7* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 /user/username/projects/myproject/folder/tsconfig.json (Configured) @@ -4824,7 +4800,7 @@ ScriptInfos:: version: Text-1 containingProjects: 2 *changed* /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/folder/jsconfig.json *new* + /dev/null/inferredProject7* *new* /user/username/projects/myproject/folder/commonFile1.ts (Open) version: SVC-6-0 containingProjects: 1 @@ -4832,7 +4808,7 @@ ScriptInfos:: /user/username/projects/myproject/folder/commonFile2.ts (Open) *new* version: SVC-6-0 containingProjects: 1 - /user/username/projects/myproject/folder/jsconfig.json *default* + /dev/null/inferredProject7* *default* Before request @@ -4845,12 +4821,15 @@ Info seq [hh:mm:ss:mss] request: "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 '/user/username/projects/myproject/folder/jsconfig.json' (Configured) +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] ----------------------------------------------- @@ -4875,21 +4854,30 @@ PolledWatches:: /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/jsconfig.json: - {} /user/username/projects/myproject/folder/tsconfig.json: {} +FsWatches *deleted*:: +/user/username/projects/myproject/folder/jsconfig.json: + {} + Projects:: -/user/username/projects/myproject/folder/jsconfig.json (Configured) *changed* - projectStateVersion: 1 +/dev/null/inferredProject7* (Inferred) *changed* + projectStateVersion: 2 *changed* projectProgramVersion: 1 - noOpenRef: true *changed* + dirty: true *changed* + isOrphan: true *changed* /user/username/projects/myproject/folder/tsconfig.json (Configured) projectStateVersion: 1 projectProgramVersion: 1 @@ -4899,7 +4887,7 @@ ScriptInfos:: version: Text-1 containingProjects: 2 /user/username/projects/myproject/folder/tsconfig.json - /user/username/projects/myproject/folder/jsconfig.json + /dev/null/inferredProject7* /user/username/projects/myproject/folder/commonFile1.ts (Open) version: SVC-6-0 containingProjects: 1 @@ -4907,8 +4895,8 @@ ScriptInfos:: /user/username/projects/myproject/folder/commonFile2.ts *changed* open: false *changed* version: SVC-6-0 - containingProjects: 1 - /user/username/projects/myproject/folder/jsconfig.json + containingProjects: 0 *changed* + /dev/null/inferredProject7* *deleted* Before request @@ -4923,9 +4911,9 @@ Info seq [hh:mm:ss:mss] request: "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/inferredProject7* -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] 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;" @@ -4938,7 +4926,7 @@ 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/folder/jsconfig.json' (Configured) +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 @@ -4947,22 +4935,21 @@ Info seq [hh:mm:ss:mss] Files (2) ../../../../../a/lib/lib.d.ts Default library for target 'es5' commonFile2.ts - Part of 'files' list in tsconfig.json + 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/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] 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/inferredProject7*' (Inferred) +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] ----------------------------------------------- @@ -4970,7 +4957,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: /random/random.ts ProjectRootPath: undefined -Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject7* +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject8* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -5001,18 +4988,17 @@ FsWatches:: FsWatches *deleted*:: /user/username/projects/myproject/folder/commonFile2.ts: {} -/user/username/projects/myproject/folder/jsconfig.json: - {} Projects:: -/dev/null/inferredProject7* (Inferred) *new* - projectStateVersion: 1 +/dev/null/inferredProject7* (Inferred) *deleted* + projectStateVersion: 2 projectProgramVersion: 1 -/user/username/projects/myproject/folder/jsconfig.json (Configured) *deleted* + dirty: true + isClosed: true *changed* + isOrphan: true +/dev/null/inferredProject8* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 - isClosed: true *changed* - noOpenRef: true /user/username/projects/myproject/folder/tsconfig.json (Configured) projectStateVersion: 1 projectProgramVersion: 1 @@ -5022,17 +5008,16 @@ ScriptInfos:: version: Text-1 containingProjects: 2 *changed* /user/username/projects/myproject/folder/tsconfig.json - /dev/null/inferredProject7* *new* - /user/username/projects/myproject/folder/jsconfig.json *deleted* + /dev/null/inferredProject8* *new* + /dev/null/inferredProject7* *deleted* /random/random.ts (Open) *new* version: SVC-10-0 containingProjects: 1 - /dev/null/inferredProject7* *default* + /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 *changed* - /user/username/projects/myproject/folder/jsconfig.json *deleted* + containingProjects: 0 diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js index 88eecfb40ee8e..e2a04fb58a240 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js @@ -229,7 +229,6 @@ Info seq [hh:mm:ss:mss] request: Info seq [hh:mm:ss:mss] Invoking /user/username/projects/myproject/tsconfig.json:: wildcard for open scriptInfo:: /user/username/projects/myproject/src/sub/fooBar.ts Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/tsconfig.json Detected excluded file: /user/username/projects/myproject/src/sub/fooBar.ts Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/sub/fooBar.ts ProjectRootPath: /user/username/projects/myproject:: Result: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: /user/username/projects/myproject:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js index 1cee7b4530645..c5bd3905e4152 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js @@ -229,7 +229,6 @@ Info seq [hh:mm:ss:mss] request: Info seq [hh:mm:ss:mss] Invoking /user/username/projects/myproject/tsconfig.json:: wildcard for open scriptInfo:: /user/username/projects/myproject/src/sub/fooBar.ts Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/tsconfig.json Detected excluded file: /user/username/projects/myproject/src/sub/fooBar.ts Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/sub/fooBar.ts ProjectRootPath: /user/username/projects/myproject:: Result: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: /user/username/projects/myproject:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js index e6aa7b1d150b1..073a7b8e4b175 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js @@ -223,7 +223,6 @@ Info seq [hh:mm:ss:mss] request: Info seq [hh:mm:ss:mss] Invoking /user/username/projects/myproject/tsconfig.json:: wildcard for open scriptInfo:: /user/username/projects/myproject/src/sub/fooBar.ts Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/tsconfig.json Detected excluded file: /user/username/projects/myproject/src/sub/fooBar.ts Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/sub/fooBar.ts ProjectRootPath: /user/username/projects/myproject:: Result: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: /user/username/projects/myproject:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one.js index 71189a22c6ec8..501210b95d475 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one.js @@ -224,7 +224,6 @@ Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/project Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/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] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: /user/username/projects/myproject:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js index 145e40027e22f..a6600ea05055d 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js @@ -223,7 +223,6 @@ Info seq [hh:mm:ss:mss] request: Info seq [hh:mm:ss:mss] Invoking /user/username/projects/myproject/tsconfig.json:: wildcard for open scriptInfo:: /user/username/projects/myproject/src/sub/fooBar.ts Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/tsconfig.json Detected excluded file: /user/username/projects/myproject/src/sub/fooBar.ts Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/sub/fooBar.ts ProjectRootPath: /user/username/projects/myproject:: Result: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: /user/username/projects/myproject:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one.js index 6c4b757161760..44e521cb471fb 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one.js @@ -224,7 +224,6 @@ Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/project Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/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] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: /user/username/projects/myproject:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/configuredProjects/should-be-able-to-handle-@types-if-input-file-list-is-empty.js b/tests/baselines/reference/tsserver/configuredProjects/should-be-able-to-handle-@types-if-input-file-list-is-empty.js index 6c8e085f94aca..f91375e276208 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/should-be-able-to-handle-@types-if-input-file-list-is-empty.js +++ b/tests/baselines/reference/tsserver/configuredProjects/should-be-able-to-handle-@types-if-input-file-list-is-empty.js @@ -127,7 +127,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /a/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: /a/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache diff --git a/tests/baselines/reference/tsserver/configuredProjects/should-be-tolerated-without-crashing-the-server.js b/tests/baselines/reference/tsserver/configuredProjects/should-be-tolerated-without-crashing-the-server.js index 6d57cad9c0c8a..734b681ce5712 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/should-be-tolerated-without-crashing-the-server.js +++ b/tests/baselines/reference/tsserver/configuredProjects/should-be-tolerated-without-crashing-the-server.js @@ -118,7 +118,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms diff --git a/tests/baselines/reference/tsserver/configuredProjects/should-ignore-non-existing-files-specified-in-the-config-file.js b/tests/baselines/reference/tsserver/configuredProjects/should-ignore-non-existing-files-specified-in-the-config-file.js index 24a40c21a5f83..aba3abde3b1db 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/should-ignore-non-existing-files-specified-in-the-config-file.js +++ b/tests/baselines/reference/tsserver/configuredProjects/should-ignore-non-existing-files-specified-in-the-config-file.js @@ -244,7 +244,6 @@ Info seq [hh:mm:ss:mss] request: "type": "request" } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/commonFile2.ts ProjectRootPath: undefined:: Result: /a/b/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/configuredProjects/should-tolerate-invalid-include-files-that-start-in-subDirectory.js b/tests/baselines/reference/tsserver/configuredProjects/should-tolerate-invalid-include-files-that-start-in-subDirectory.js index e8095fdfeff5f..fb7dd656e3feb 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/should-tolerate-invalid-include-files-that-start-in-subDirectory.js +++ b/tests/baselines/reference/tsserver/configuredProjects/should-tolerate-invalid-include-files-that-start-in-subDirectory.js @@ -140,7 +140,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/server/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/server/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/src/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/src/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root diff --git a/tests/baselines/reference/tsserver/configuredProjects/when-default-configured-project-does-not-contain-the-file.js b/tests/baselines/reference/tsserver/configuredProjects/when-default-configured-project-does-not-contain-the-file.js index 1095b3034fc61..4abc064ce0c66 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/when-default-configured-project-does-not-contain-the-file.js +++ b/tests/baselines/reference/tsserver/configuredProjects/when-default-configured-project-does-not-contain-the-file.js @@ -905,7 +905,6 @@ Info seq [hh:mm:ss:mss] request: } Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/foo/lib/index.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/foo/lib/index.d.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/foo/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/foo/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/bar/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (3) 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 80f5ffcc43d93..b3892e5022424 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 @@ -176,7 +176,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /A/B/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms 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 892d1b5b303fd..6de1f07bebe1e 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 @@ -178,7 +178,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] getConfigFileNameForFile:: File: /A/B/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, 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 ddee7806df84a..7e9c6d07acffa 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 @@ -234,7 +234,6 @@ Info seq [hh:mm:ss:mss] request: Info seq [hh:mm:ss:mss] Invoking /user/username/projects/myproject/tsconfig.json:: wildcard for open scriptInfo:: /user/username/projects/myproject/javascript.js Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/javascript.js Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/javascript.js ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_baseUrl_toDist.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_baseUrl_toDist.js index f7a1f70f149a0..f35004be5e67f 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_baseUrl_toDist.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_baseUrl_toDist.js @@ -124,7 +124,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /common/tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_stripSrc.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_stripSrc.js index d84a83c9b3a76..077044c130bbd 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_stripSrc.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_stripSrc.js @@ -268,7 +268,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /packages/app/tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toDist.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toDist.js index ebf3de0f85b6a..6d936d685b088 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toDist.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toDist.js @@ -268,7 +268,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /packages/app/tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toDist2.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toDist2.js index fb450598ddb25..30a22b44052c1 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toDist2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toDist2.js @@ -126,7 +126,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /common/tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toSrc.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toSrc.js index 64824840cf14d..fdc835d114033 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toSrc.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_paths_toSrc.js @@ -268,7 +268,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /packages/app/tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_stripSrc.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_stripSrc.js index 5ce32a0217203..90597c55a7fe5 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_stripSrc.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_stripSrc.js @@ -240,7 +240,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /packages/app/tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_toDist.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_toDist.js index 66bc166c838da..5ca2e451ff0c7 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_toDist.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_toDist.js @@ -240,7 +240,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /packages/app/tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_toSrc.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_toSrc.js index 4e538ae364aec..c03e1ef902137 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_toSrc.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportCrossProject_symlinks_toSrc.js @@ -231,7 +231,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /packages/app/tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportPackageJsonFilterExistingImport1.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportPackageJsonFilterExistingImport1.js new file mode 100644 index 0000000000000..6bd0ddc3b689f --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportPackageJsonFilterExistingImport1.js @@ -0,0 +1,733 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/index.ts] +import { useState } from "react"; +useMemo + +//// [/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 + +//// [/node_modules/@types/react/index.d.ts] +export declare function useMemo(): void; +export declare function useState(): void; + +//// [/package.json] +{} + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/node_modules/@types/react/index.d.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /node_modules/@types/react/index.d.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +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] FileWatcher:: Added:: WatchInfo: /node_modules/@types/react/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /node_modules/@types/react/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /node_modules/@types/react/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 (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 + /node_modules/@types/react/index.d.ts SVC-1-0 "export declare function useMemo(): void;\nexport declare function useState(): void;" + + + ../../../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.d.ts + Root file specified for compilation + Entry point for implicit type library 'react' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +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: /node_modules/@types/react/index.d.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 0, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After Request +watchedFiles:: +/lib.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: *new* + {"pollingInterval":500} +/node_modules/@types/react/package.json: *new* + {"pollingInterval":2000} + +watchedDirectoriesRecursive:: +/node_modules/@types/react/node_modules/@types: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject1* +/lib.decorators.d.ts *new* + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject1* +/lib.decorators.legacy.d.ts *new* + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject1* +/node_modules/@types/react/index.d.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 1, + "type": "request", + "arguments": { + "file": "/index.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /index.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/react/package.json 2000 undefined Project: /dev/null/inferredProject2* WatchType: File location affecting resolution +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 (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 + /node_modules/@types/react/index.d.ts SVC-1-0 "export declare function useMemo(): void;\nexport declare function useState(): void;" + /index.ts SVC-1-0 "import { useState } from \"react\";\nuseMemo" + + + 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' + node_modules/@types/react/index.d.ts + Imported via "react" from file 'index.ts' + Entry point for implicit type library 'react' + index.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /package.json 250 undefined WatchType: package.json file +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 (4) + /lib.d.ts + /lib.decorators.d.ts + /lib.decorators.legacy.d.ts + /node_modules/@types/react/index.d.ts + + + ../../../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.d.ts + Root file specified for compilation + Entry point for implicit type library 'react' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /node_modules/@types/react/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /node_modules/@types/react/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /node_modules/@types/react/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +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: /node_modules/@types/react/index.d.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] FileName: /index.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 1, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After Request +watchedFiles:: +/lib.d.ts: + {"pollingInterval":500} +/lib.decorators.d.ts: + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: + {"pollingInterval":500} +/node_modules/@types/react/package.json: + {"pollingInterval":2000} *new* +/package.json: *new* + {"pollingInterval":250} + +watchedFiles *deleted*:: +/node_modules/@types/react/package.json: + {"pollingInterval":2000} + +watchedDirectoriesRecursive *deleted*:: +/node_modules/@types/react/node_modules/@types: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *deleted* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isClosed: true *changed* + isOrphan: true *changed* +/dev/null/inferredProject2* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/index.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject2* *new* + /dev/null/inferredProject1* *deleted* +/lib.decorators.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject2* *new* + /dev/null/inferredProject1* *deleted* +/lib.decorators.legacy.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject2* *new* + /dev/null/inferredProject1* *deleted* +/node_modules/@types/react/index.d.ts (Open) *changed* + version: SVC-1-0 + containingProjects: 1 *changed* + /dev/null/inferredProject2* *default* *new* + /dev/null/inferredProject1* *deleted* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 2, + "type": "request", + "arguments": { + "preferences": {} + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 2, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 3, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "syntacticDiagnosticsSync" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "syntacticDiagnosticsSync", + "request_seq": 3, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 4, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "semanticDiagnosticsSync" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "semanticDiagnosticsSync", + "request_seq": 4, + "success": true, + "body": [ + { + "message": "Cannot find name 'useMemo'.", + "start": 34, + "length": 7, + "category": "error", + "code": 2304, + "startLocation": { + "line": 2, + "offset": 1 + }, + "endLocation": { + "line": 2, + "offset": 8 + } + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 5, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "suggestionDiagnosticsSync" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "suggestionDiagnosticsSync", + "request_seq": 5, + "success": true, + "body": [ + { + "message": "'useState' is declared but its value is never read.", + "start": 0, + "length": 33, + "category": "suggestion", + "code": 6133, + "startLocation": { + "line": 1, + "offset": 1 + }, + "endLocation": { + "line": 1, + "offset": 34 + }, + "reportsUnnecessary": true + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 6, + "type": "request", + "arguments": { + "file": "/index.ts", + "startLine": 2, + "startOffset": 1, + "endLine": 2, + "endOffset": 8, + "errorCodes": [ + 2304 + ] + }, + "command": "getCodeFixes" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getCodeFixes", + "request_seq": 6, + "success": true, + "body": [ + { + "fixName": "import", + "description": "Update import from \"react\"", + "changes": [ + { + "fileName": "/index.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 10 + }, + "end": { + "line": 1, + "offset": 10 + }, + "newText": "useMemo, " + } + ] + } + ] + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 7, + "type": "request", + "arguments": { + "file": "/index.ts", + "startLine": 1, + "startOffset": 1, + "endLine": 1, + "endOffset": 34, + "errorCodes": [ + 6133 + ] + }, + "command": "getCodeFixes" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getCodeFixes", + "request_seq": 7, + "success": true, + "body": [ + { + "fixName": "unusedIdentifier", + "description": "Remove import from 'react'", + "changes": [ + { + "fileName": "/index.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 1 + }, + "newText": "" + } + ] + } + ] + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 8, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 10, + "endLine": 1, + "endOffset": 10, + "insertString": "useMemo, " + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 8, + "success": true + } +After Request +Projects:: +/dev/null/inferredProject2* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-1 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 9, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 10, + "endLine": 1, + "endOffset": 19, + "insertString": "" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 9, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 10, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 1, + "endLine": 2, + "endOffset": 1, + "insertString": "" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 10, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-3 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 11, + "type": "request", + "arguments": { + "preferences": {} + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 11, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 12, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "syntacticDiagnosticsSync" + } +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:: SafeModules Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +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 + /index.ts SVC-1-3 "useMemo" + /node_modules/@types/react/index.d.ts SVC-1-0 "export declare function useMemo(): void;\nexport declare function useState(): void;" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "syntacticDiagnosticsSync", + "request_seq": 12, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + }, + "body": [] + } +After Request +Projects:: +/dev/null/inferredProject2* (Inferred) *changed* + projectStateVersion: 2 + projectProgramVersion: 2 *changed* + dirty: false *changed* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 13, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "semanticDiagnosticsSync" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "semanticDiagnosticsSync", + "request_seq": 13, + "success": true, + "body": [ + { + "message": "Cannot find name 'useMemo'.", + "start": 0, + "length": 7, + "category": "error", + "code": 2304, + "startLocation": { + "line": 1, + "offset": 1 + }, + "endLocation": { + "line": 1, + "offset": 8 + } + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 14, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "suggestionDiagnosticsSync" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "suggestionDiagnosticsSync", + "request_seq": 14, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 15, + "type": "request", + "arguments": { + "file": "/index.ts", + "startLine": 1, + "startOffset": 1, + "endLine": 1, + "endOffset": 8, + "errorCodes": [ + 2304 + ] + }, + "command": "getCodeFixes" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getCodeFixes", + "request_seq": 15, + "success": true, + "body": [] + } \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportPackageJsonFilterExistingImport2.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportPackageJsonFilterExistingImport2.js new file mode 100644 index 0000000000000..e1ecc8d40548f --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportPackageJsonFilterExistingImport2.js @@ -0,0 +1,3094 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/index.ts] +useMemo + +//// [/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 + +//// [/node_modules/@types/react/index.d.ts] +export declare function useMemo(): void; +export declare function useState(): void; + +//// [/package.json] +{} + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/node_modules/@types/react/index.d.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /node_modules/@types/react/index.d.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +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] FileWatcher:: Added:: WatchInfo: /node_modules/@types/react/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /node_modules/@types/react/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /node_modules/@types/react/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 (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 + /node_modules/@types/react/index.d.ts SVC-1-0 "export declare function useMemo(): void;\nexport declare function useState(): void;" + + + ../../../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.d.ts + Root file specified for compilation + Entry point for implicit type library 'react' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +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: /node_modules/@types/react/index.d.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 0, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After Request +watchedFiles:: +/lib.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: *new* + {"pollingInterval":500} +/node_modules/@types/react/package.json: *new* + {"pollingInterval":2000} + +watchedDirectoriesRecursive:: +/node_modules/@types/react/node_modules/@types: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject1* +/lib.decorators.d.ts *new* + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject1* +/lib.decorators.legacy.d.ts *new* + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject1* +/node_modules/@types/react/index.d.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 1, + "type": "request", + "arguments": { + "file": "/index.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /index.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/react/package.json 2000 undefined Project: /dev/null/inferredProject2* WatchType: File location affecting resolution +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 (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 + /index.ts SVC-1-0 "useMemo" + /node_modules/@types/react/index.d.ts SVC-1-0 "export declare function useMemo(): void;\nexport declare function useState(): void;" + + + 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 + Root file specified for compilation + node_modules/@types/react/index.d.ts + Entry point for implicit type library 'react' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /package.json 250 undefined WatchType: package.json file +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 (4) + /lib.d.ts + /lib.decorators.d.ts + /lib.decorators.legacy.d.ts + /node_modules/@types/react/index.d.ts + + + ../../../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.d.ts + Root file specified for compilation + Entry point for implicit type library 'react' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /node_modules/@types/react/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /node_modules/@types/react/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /node_modules/@types/react/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +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: /node_modules/@types/react/index.d.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] FileName: /index.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 1, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After Request +watchedFiles:: +/lib.d.ts: + {"pollingInterval":500} +/lib.decorators.d.ts: + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: + {"pollingInterval":500} +/node_modules/@types/react/package.json: + {"pollingInterval":2000} *new* +/package.json: *new* + {"pollingInterval":250} + +watchedFiles *deleted*:: +/node_modules/@types/react/package.json: + {"pollingInterval":2000} + +watchedDirectoriesRecursive *deleted*:: +/node_modules/@types/react/node_modules/@types: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *deleted* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isClosed: true *changed* + isOrphan: true *changed* +/dev/null/inferredProject2* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/index.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject2* *new* + /dev/null/inferredProject1* *deleted* +/lib.decorators.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject2* *new* + /dev/null/inferredProject1* *deleted* +/lib.decorators.legacy.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject2* *new* + /dev/null/inferredProject1* *deleted* +/node_modules/@types/react/index.d.ts (Open) *changed* + version: SVC-1-0 + containingProjects: 1 *changed* + /dev/null/inferredProject2* *default* *new* + /dev/null/inferredProject1* *deleted* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 2, + "type": "request", + "arguments": { + "preferences": {} + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 2, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 3, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "syntacticDiagnosticsSync" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "syntacticDiagnosticsSync", + "request_seq": 3, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 4, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "semanticDiagnosticsSync" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "semanticDiagnosticsSync", + "request_seq": 4, + "success": true, + "body": [ + { + "message": "Cannot find name 'useMemo'.", + "start": 0, + "length": 7, + "category": "error", + "code": 2304, + "startLocation": { + "line": 1, + "offset": 1 + }, + "endLocation": { + "line": 1, + "offset": 8 + } + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 5, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "suggestionDiagnosticsSync" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "suggestionDiagnosticsSync", + "request_seq": 5, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 6, + "type": "request", + "arguments": { + "file": "/index.ts", + "startLine": 1, + "startOffset": 1, + "endLine": 1, + "endOffset": 8, + "errorCodes": [ + 2304 + ] + }, + "command": "getCodeFixes" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getCodeFixes", + "request_seq": 6, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 7, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 1, + "endLine": 1, + "endOffset": 1, + "insertString": "" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 7, + "success": true + } +After Request +Projects:: +/dev/null/inferredProject2* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-1 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 8, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 1, + "endLine": 1, + "endOffset": 1, + "insertString": "i" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 8, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 9, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 2, + "key": "i" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 9, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 10, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 2, + "endLine": 1, + "endOffset": 2, + "insertString": "m" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 10, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-3 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 11, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 3, + "key": "m" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 11, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 12, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 3, + "endLine": 1, + "endOffset": 3, + "insertString": "p" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 12, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-4 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 13, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 4, + "key": "p" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 13, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 14, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 4, + "endLine": 1, + "endOffset": 4, + "insertString": "o" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 14, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-5 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 15, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 5, + "key": "o" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 15, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 16, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 5, + "endLine": 1, + "endOffset": 5, + "insertString": "r" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 16, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-6 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 17, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 6, + "key": "r" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 17, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 18, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 6, + "endLine": 1, + "endOffset": 6, + "insertString": "t" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 18, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-7 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 19, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 7, + "key": "t" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 19, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 20, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 7, + "endLine": 1, + "endOffset": 7, + "insertString": " " + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 20, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-8 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 21, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 8, + "key": " " + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 21, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 22, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 8, + "endLine": 1, + "endOffset": 8, + "insertString": "{" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 22, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-9 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 23, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 9, + "key": "{" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 23, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 24, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 9, + "endLine": 1, + "endOffset": 9, + "insertString": " " + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 24, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-10 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 25, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 10, + "key": " " + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 25, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 26, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 10, + "endLine": 1, + "endOffset": 10, + "insertString": "u" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 26, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-11 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 27, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 11, + "key": "u" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 27, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 28, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 11, + "endLine": 1, + "endOffset": 11, + "insertString": "s" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 28, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-12 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 29, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 12, + "key": "s" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 29, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 30, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 12, + "endLine": 1, + "endOffset": 12, + "insertString": "e" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 30, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-13 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 31, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 13, + "key": "e" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 31, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 32, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 13, + "endLine": 1, + "endOffset": 13, + "insertString": "S" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 32, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-14 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 33, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 14, + "key": "S" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 33, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 34, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 14, + "endLine": 1, + "endOffset": 14, + "insertString": "t" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 34, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-15 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 35, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 15, + "key": "t" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 35, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 36, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 15, + "endLine": 1, + "endOffset": 15, + "insertString": "a" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 36, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-16 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 37, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 16, + "key": "a" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 37, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 38, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 16, + "endLine": 1, + "endOffset": 16, + "insertString": "t" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 38, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-17 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 39, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 17, + "key": "t" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 39, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 40, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 17, + "endLine": 1, + "endOffset": 17, + "insertString": "e" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 40, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-18 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 41, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 18, + "key": "e" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 41, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 42, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 18, + "endLine": 1, + "endOffset": 18, + "insertString": " " + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 42, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-19 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 43, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 19, + "key": " " + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 43, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 44, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 19, + "endLine": 1, + "endOffset": 19, + "insertString": "}" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 44, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-20 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 45, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 20, + "key": "}" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 45, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 46, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 20, + "endLine": 1, + "endOffset": 20, + "insertString": " " + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 46, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-21 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 47, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 21, + "key": " " + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 47, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 48, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 21, + "endLine": 1, + "endOffset": 21, + "insertString": "f" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 48, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-22 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 49, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 22, + "key": "f" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 49, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 50, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 22, + "endLine": 1, + "endOffset": 22, + "insertString": "r" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 50, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-23 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 51, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 23, + "key": "r" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 51, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 52, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 23, + "endLine": 1, + "endOffset": 23, + "insertString": "o" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 52, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-24 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 53, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 24, + "key": "o" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 53, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 54, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 24, + "endLine": 1, + "endOffset": 24, + "insertString": "m" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 54, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-25 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 55, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 25, + "key": "m" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 55, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 56, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 25, + "endLine": 1, + "endOffset": 25, + "insertString": " " + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 56, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-26 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 57, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 26, + "key": " " + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 57, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 58, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 26, + "endLine": 1, + "endOffset": 26, + "insertString": "\"" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 58, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-27 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 59, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 27, + "key": "\"" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 59, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 60, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 27, + "endLine": 1, + "endOffset": 27, + "insertString": "r" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 60, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-28 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 61, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 28, + "key": "r" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 61, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 62, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 28, + "endLine": 1, + "endOffset": 28, + "insertString": "e" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 62, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-29 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 63, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 29, + "key": "e" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 63, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 64, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 29, + "endLine": 1, + "endOffset": 29, + "insertString": "a" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 64, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-30 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 65, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 30, + "key": "a" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 65, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 66, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 30, + "endLine": 1, + "endOffset": 30, + "insertString": "c" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 66, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-31 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 67, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 31, + "key": "c" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 67, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 68, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 31, + "endLine": 1, + "endOffset": 31, + "insertString": "t" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 68, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-32 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 69, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 32, + "key": "t" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 69, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 70, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 32, + "endLine": 1, + "endOffset": 32, + "insertString": "\"" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 70, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-33 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 71, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 33, + "key": "\"" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 71, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 72, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 33, + "endLine": 1, + "endOffset": 33, + "insertString": ";" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 72, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-34 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 73, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 34, + "key": ";" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 73, + "success": true, + "body": [ + { + "start": { + "line": 1, + "offset": 34 + }, + "end": { + "line": 1, + "offset": 34 + }, + "newText": " " + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 74, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 34, + "endLine": 1, + "endOffset": 34, + "insertString": " " + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 74, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-35 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 75, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 35, + "endLine": 1, + "endOffset": 35, + "insertString": "\n" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 75, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-36 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 76, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 2, + "offset": 1, + "key": "\n" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 76, + "success": true, + "body": [ + { + "start": { + "line": 1, + "offset": 34 + }, + "end": { + "line": 1, + "offset": 35 + }, + "newText": "" + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 77, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 34, + "endLine": 1, + "endOffset": 35, + "insertString": "" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 77, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-37 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 78, + "type": "request", + "arguments": { + "preferences": {} + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 78, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 79, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "syntacticDiagnosticsSync" + } +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:: SafeModules Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +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 + /node_modules/@types/react/index.d.ts SVC-1-0 "export declare function useMemo(): void;\nexport declare function useState(): void;" + /index.ts SVC-1-37 "import { useState } from \"react\";\nuseMemo" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "syntacticDiagnosticsSync", + "request_seq": 79, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + }, + "body": [] + } +After Request +Projects:: +/dev/null/inferredProject2* (Inferred) *changed* + projectStateVersion: 2 + projectProgramVersion: 2 *changed* + dirty: false *changed* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 80, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "semanticDiagnosticsSync" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "semanticDiagnosticsSync", + "request_seq": 80, + "success": true, + "body": [ + { + "message": "Cannot find name 'useMemo'.", + "start": 34, + "length": 7, + "category": "error", + "code": 2304, + "startLocation": { + "line": 2, + "offset": 1 + }, + "endLocation": { + "line": 2, + "offset": 8 + } + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 81, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "suggestionDiagnosticsSync" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "suggestionDiagnosticsSync", + "request_seq": 81, + "success": true, + "body": [ + { + "message": "'useState' is declared but its value is never read.", + "start": 0, + "length": 33, + "category": "suggestion", + "code": 6133, + "startLocation": { + "line": 1, + "offset": 1 + }, + "endLocation": { + "line": 1, + "offset": 34 + }, + "reportsUnnecessary": true + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 82, + "type": "request", + "arguments": { + "file": "/index.ts", + "startLine": 2, + "startOffset": 1, + "endLine": 2, + "endOffset": 8, + "errorCodes": [ + 2304 + ] + }, + "command": "getCodeFixes" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getCodeFixes", + "request_seq": 82, + "success": true, + "body": [ + { + "fixName": "import", + "description": "Update import from \"react\"", + "changes": [ + { + "fileName": "/index.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 10 + }, + "end": { + "line": 1, + "offset": 10 + }, + "newText": "useMemo, " + } + ] + } + ] + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 83, + "type": "request", + "arguments": { + "file": "/index.ts", + "startLine": 1, + "startOffset": 1, + "endLine": 1, + "endOffset": 34, + "errorCodes": [ + 6133 + ] + }, + "command": "getCodeFixes" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getCodeFixes", + "request_seq": 83, + "success": true, + "body": [ + { + "fixName": "unusedIdentifier", + "description": "Remove import from 'react'", + "changes": [ + { + "fileName": "/index.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 1 + }, + "newText": "" + } + ] + } + ] + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 84, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 10, + "endLine": 1, + "endOffset": 10, + "insertString": "useMemo, " + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 84, + "success": true + } +After Request +Projects:: +/dev/null/inferredProject2* (Inferred) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 2 + dirty: true *changed* + +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-38 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 85, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 10, + "endLine": 1, + "endOffset": 19, + "insertString": "" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 85, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-39 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/react/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportPackageJsonFilterExistingImport3.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportPackageJsonFilterExistingImport3.js new file mode 100644 index 0000000000000..00d659a154e05 --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportPackageJsonFilterExistingImport3.js @@ -0,0 +1,3294 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/index.ts] +readFile + +//// [/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 + +//// [/node_modules/@types/node/index.d.ts] +declare module "node:fs" { + export function readFile(): void; + export function writeFile(): void; +} + +//// [/package.json] +{} + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/node_modules/@types/node/index.d.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /node_modules/@types/node/index.d.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +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] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /node_modules/@types/node/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /node_modules/@types/node/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 (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 + /node_modules/@types/node/index.d.ts SVC-1-0 "declare module \"node:fs\" {\n export function readFile(): void;\n export function writeFile(): void;\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' + index.d.ts + Root file specified for compilation + Entry point for implicit type library 'node' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +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: /node_modules/@types/node/index.d.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 0, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After Request +watchedFiles:: +/lib.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: *new* + {"pollingInterval":500} +/node_modules/@types/node/package.json: *new* + {"pollingInterval":2000} + +watchedDirectoriesRecursive:: +/node_modules/@types/node/node_modules/@types: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject1* +/lib.decorators.d.ts *new* + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject1* +/lib.decorators.legacy.d.ts *new* + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject1* +/node_modules/@types/node/index.d.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 1, + "type": "request", + "arguments": { + "file": "/index.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /index.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/package.json 2000 undefined Project: /dev/null/inferredProject2* WatchType: File location affecting resolution +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 (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 + /index.ts SVC-1-0 "readFile" + /node_modules/@types/node/index.d.ts SVC-1-0 "declare module \"node:fs\" {\n export function readFile(): void;\n export function writeFile(): void;\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' + index.ts + Root file specified for compilation + node_modules/@types/node/index.d.ts + Entry point for implicit type library 'node' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /package.json 250 undefined WatchType: package.json file +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 (4) + /lib.d.ts + /lib.decorators.d.ts + /lib.decorators.legacy.d.ts + /node_modules/@types/node/index.d.ts + + + ../../../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.d.ts + Root file specified for compilation + Entry point for implicit type library 'node' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /node_modules/@types/node/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /node_modules/@types/node/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /node_modules/@types/node/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +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: /node_modules/@types/node/index.d.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] FileName: /index.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 1, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After Request +watchedFiles:: +/lib.d.ts: + {"pollingInterval":500} +/lib.decorators.d.ts: + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: + {"pollingInterval":500} +/node_modules/@types/node/package.json: + {"pollingInterval":2000} *new* +/package.json: *new* + {"pollingInterval":250} + +watchedFiles *deleted*:: +/node_modules/@types/node/package.json: + {"pollingInterval":2000} + +watchedDirectoriesRecursive *deleted*:: +/node_modules/@types/node/node_modules/@types: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *deleted* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + isClosed: true *changed* + isOrphan: true *changed* +/dev/null/inferredProject2* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/index.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject2* *new* + /dev/null/inferredProject1* *deleted* +/lib.decorators.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject2* *new* + /dev/null/inferredProject1* *deleted* +/lib.decorators.legacy.d.ts *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject2* *new* + /dev/null/inferredProject1* *deleted* +/node_modules/@types/node/index.d.ts (Open) *changed* + version: SVC-1-0 + containingProjects: 1 *changed* + /dev/null/inferredProject2* *default* *new* + /dev/null/inferredProject1* *deleted* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 2, + "type": "request", + "arguments": { + "preferences": {} + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 2, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 3, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "syntacticDiagnosticsSync" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "syntacticDiagnosticsSync", + "request_seq": 3, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 4, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "semanticDiagnosticsSync" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "semanticDiagnosticsSync", + "request_seq": 4, + "success": true, + "body": [ + { + "message": "Cannot find name 'readFile'.", + "start": 0, + "length": 8, + "category": "error", + "code": 2304, + "startLocation": { + "line": 1, + "offset": 1 + }, + "endLocation": { + "line": 1, + "offset": 9 + } + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 5, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "suggestionDiagnosticsSync" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "suggestionDiagnosticsSync", + "request_seq": 5, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 6, + "type": "request", + "arguments": { + "file": "/index.ts", + "startLine": 1, + "startOffset": 1, + "endLine": 1, + "endOffset": 9, + "errorCodes": [ + 2304 + ] + }, + "command": "getCodeFixes" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getCodeFixes", + "request_seq": 6, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 7, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 1, + "endLine": 1, + "endOffset": 1, + "insertString": "" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 7, + "success": true + } +After Request +Projects:: +/dev/null/inferredProject2* (Inferred) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-1 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 8, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 1, + "endLine": 1, + "endOffset": 1, + "insertString": "i" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 8, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 9, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 2, + "key": "i" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 9, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 10, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 2, + "endLine": 1, + "endOffset": 2, + "insertString": "m" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 10, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-3 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 11, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 3, + "key": "m" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 11, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 12, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 3, + "endLine": 1, + "endOffset": 3, + "insertString": "p" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 12, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-4 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 13, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 4, + "key": "p" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 13, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 14, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 4, + "endLine": 1, + "endOffset": 4, + "insertString": "o" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 14, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-5 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 15, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 5, + "key": "o" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 15, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 16, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 5, + "endLine": 1, + "endOffset": 5, + "insertString": "r" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 16, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-6 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 17, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 6, + "key": "r" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 17, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 18, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 6, + "endLine": 1, + "endOffset": 6, + "insertString": "t" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 18, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-7 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 19, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 7, + "key": "t" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 19, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 20, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 7, + "endLine": 1, + "endOffset": 7, + "insertString": " " + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 20, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-8 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 21, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 8, + "key": " " + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 21, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 22, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 8, + "endLine": 1, + "endOffset": 8, + "insertString": "{" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 22, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-9 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 23, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 9, + "key": "{" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 23, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 24, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 9, + "endLine": 1, + "endOffset": 9, + "insertString": " " + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 24, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-10 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 25, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 10, + "key": " " + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 25, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 26, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 10, + "endLine": 1, + "endOffset": 10, + "insertString": "w" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 26, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-11 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 27, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 11, + "key": "w" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 27, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 28, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 11, + "endLine": 1, + "endOffset": 11, + "insertString": "r" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 28, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-12 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 29, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 12, + "key": "r" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 29, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 30, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 12, + "endLine": 1, + "endOffset": 12, + "insertString": "i" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 30, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-13 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 31, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 13, + "key": "i" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 31, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 32, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 13, + "endLine": 1, + "endOffset": 13, + "insertString": "t" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 32, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-14 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 33, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 14, + "key": "t" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 33, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 34, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 14, + "endLine": 1, + "endOffset": 14, + "insertString": "e" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 34, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-15 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 35, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 15, + "key": "e" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 35, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 36, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 15, + "endLine": 1, + "endOffset": 15, + "insertString": "F" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 36, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-16 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 37, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 16, + "key": "F" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 37, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 38, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 16, + "endLine": 1, + "endOffset": 16, + "insertString": "i" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 38, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-17 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 39, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 17, + "key": "i" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 39, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 40, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 17, + "endLine": 1, + "endOffset": 17, + "insertString": "l" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 40, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-18 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 41, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 18, + "key": "l" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 41, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 42, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 18, + "endLine": 1, + "endOffset": 18, + "insertString": "e" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 42, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-19 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 43, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 19, + "key": "e" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 43, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 44, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 19, + "endLine": 1, + "endOffset": 19, + "insertString": " " + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 44, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-20 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 45, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 20, + "key": " " + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 45, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 46, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 20, + "endLine": 1, + "endOffset": 20, + "insertString": "}" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 46, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-21 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 47, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 21, + "key": "}" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 47, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 48, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 21, + "endLine": 1, + "endOffset": 21, + "insertString": " " + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 48, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-22 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 49, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 22, + "key": " " + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 49, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 50, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 22, + "endLine": 1, + "endOffset": 22, + "insertString": "f" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 50, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-23 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 51, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 23, + "key": "f" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 51, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 52, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 23, + "endLine": 1, + "endOffset": 23, + "insertString": "r" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 52, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-24 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 53, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 24, + "key": "r" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 53, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 54, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 24, + "endLine": 1, + "endOffset": 24, + "insertString": "o" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 54, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-25 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 55, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 25, + "key": "o" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 55, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 56, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 25, + "endLine": 1, + "endOffset": 25, + "insertString": "m" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 56, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-26 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 57, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 26, + "key": "m" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 57, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 58, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 26, + "endLine": 1, + "endOffset": 26, + "insertString": " " + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 58, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-27 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 59, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 27, + "key": " " + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 59, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 60, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 27, + "endLine": 1, + "endOffset": 27, + "insertString": "\"" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 60, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-28 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 61, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 28, + "key": "\"" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 61, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 62, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 28, + "endLine": 1, + "endOffset": 28, + "insertString": "n" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 62, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-29 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 63, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 29, + "key": "n" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 63, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 64, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 29, + "endLine": 1, + "endOffset": 29, + "insertString": "o" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 64, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-30 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 65, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 30, + "key": "o" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 65, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 66, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 30, + "endLine": 1, + "endOffset": 30, + "insertString": "d" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 66, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-31 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 67, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 31, + "key": "d" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 67, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 68, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 31, + "endLine": 1, + "endOffset": 31, + "insertString": "e" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 68, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-32 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 69, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 32, + "key": "e" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 69, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 70, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 32, + "endLine": 1, + "endOffset": 32, + "insertString": ":" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 70, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-33 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 71, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 33, + "key": ":" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 71, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 72, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 33, + "endLine": 1, + "endOffset": 33, + "insertString": "f" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 72, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-34 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 73, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 34, + "key": "f" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 73, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 74, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 34, + "endLine": 1, + "endOffset": 34, + "insertString": "s" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 74, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-35 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 75, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 35, + "key": "s" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 75, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 76, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 35, + "endLine": 1, + "endOffset": 35, + "insertString": "\"" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 76, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-36 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 77, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 36, + "key": "\"" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 77, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 78, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 36, + "endLine": 1, + "endOffset": 36, + "insertString": ";" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 78, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-37 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 79, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 37, + "key": ";" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 79, + "success": true, + "body": [ + { + "start": { + "line": 1, + "offset": 37 + }, + "end": { + "line": 1, + "offset": 37 + }, + "newText": " " + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 80, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 37, + "endLine": 1, + "endOffset": 37, + "insertString": " " + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 80, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-38 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 81, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 38, + "endLine": 1, + "endOffset": 38, + "insertString": "\n" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 81, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-39 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 82, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 2, + "offset": 1, + "key": "\n" + }, + "command": "formatonkey" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "formatonkey", + "request_seq": 82, + "success": true, + "body": [ + { + "start": { + "line": 1, + "offset": 37 + }, + "end": { + "line": 1, + "offset": 38 + }, + "newText": "" + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 83, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 37, + "endLine": 1, + "endOffset": 38, + "insertString": "" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 83, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-40 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 84, + "type": "request", + "arguments": { + "preferences": {} + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 84, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 85, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "syntacticDiagnosticsSync" + } +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:: SafeModules Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) +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 + /index.ts SVC-1-40 "import { writeFile } from \"node:fs\";\nreadFile" + /node_modules/@types/node/index.d.ts SVC-1-0 "declare module \"node:fs\" {\n export function readFile(): void;\n export function writeFile(): void;\n}" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "syntacticDiagnosticsSync", + "request_seq": 85, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + }, + "body": [] + } +After Request +Projects:: +/dev/null/inferredProject2* (Inferred) *changed* + projectStateVersion: 2 + projectProgramVersion: 2 *changed* + dirty: false *changed* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 86, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "semanticDiagnosticsSync" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "semanticDiagnosticsSync", + "request_seq": 86, + "success": true, + "body": [ + { + "message": "Cannot find name 'readFile'.", + "start": 37, + "length": 8, + "category": "error", + "code": 2304, + "startLocation": { + "line": 2, + "offset": 1 + }, + "endLocation": { + "line": 2, + "offset": 9 + } + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 87, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "suggestionDiagnosticsSync" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "suggestionDiagnosticsSync", + "request_seq": 87, + "success": true, + "body": [ + { + "message": "'writeFile' is declared but its value is never read.", + "start": 0, + "length": 36, + "category": "suggestion", + "code": 6133, + "startLocation": { + "line": 1, + "offset": 1 + }, + "endLocation": { + "line": 1, + "offset": 37 + }, + "reportsUnnecessary": true + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 88, + "type": "request", + "arguments": { + "file": "/index.ts", + "startLine": 2, + "startOffset": 1, + "endLine": 2, + "endOffset": 9, + "errorCodes": [ + 2304 + ] + }, + "command": "getCodeFixes" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getCodeFixes", + "request_seq": 88, + "success": true, + "body": [ + { + "fixName": "import", + "description": "Update import from \"node:fs\"", + "changes": [ + { + "fileName": "/index.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 10 + }, + "end": { + "line": 1, + "offset": 10 + }, + "newText": "readFile, " + } + ] + } + ] + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 89, + "type": "request", + "arguments": { + "file": "/index.ts", + "startLine": 1, + "startOffset": 1, + "endLine": 1, + "endOffset": 37, + "errorCodes": [ + 6133 + ] + }, + "command": "getCodeFixes" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getCodeFixes", + "request_seq": 89, + "success": true, + "body": [ + { + "fixName": "unusedIdentifier", + "description": "Remove import from 'node:fs'", + "changes": [ + { + "fileName": "/index.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 2, + "offset": 1 + }, + "newText": "" + } + ] + } + ] + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 90, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 10, + "endLine": 1, + "endOffset": 10, + "insertString": "readFile, " + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 90, + "success": true + } +After Request +Projects:: +/dev/null/inferredProject2* (Inferred) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 2 + dirty: true *changed* + +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-41 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 91, + "type": "request", + "arguments": { + "file": "/index.ts", + "line": 1, + "offset": 10, + "endLine": 1, + "endOffset": 20, + "insertString": "" + }, + "command": "change" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "change", + "request_seq": 91, + "success": true + } +After Request +ScriptInfos:: +/index.ts (Open) *changed* + version: SVC-1-42 *changed* + containingProjects: 1 + /dev/null/inferredProject2* *default* +/lib.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject2* +/node_modules/@types/node/index.d.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject2* *default* diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider4.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider4.js index 5a0b20c22a6e2..997100ff0cca2 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider4.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider4.js @@ -234,7 +234,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider6.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider6.js index f6ac6f3329994..95e6a36467e53 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider6.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider6.js @@ -422,7 +422,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/react/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider7.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider7.js index 096330fdbda5e..cd1b8421287eb 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider7.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider7.js @@ -145,7 +145,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider8.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider8.js index 94a735cb64ec5..e1a1d105cf8a3 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider8.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider8.js @@ -145,7 +145,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap1.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap1.js index 23930a456eb1f..2f0f434a39611 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap1.js @@ -132,7 +132,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap2.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap2.js index 19cea47f257d8..d4a142d6ade0c 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap2.js @@ -132,7 +132,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap3.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap3.js index cbbe8ad6fbed6..87afbf905c586 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap3.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap3.js @@ -125,7 +125,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap4.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap4.js index fa7adc4ef75b4..3fee391634a57 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap4.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap4.js @@ -128,7 +128,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap5.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap5.js index c98c5216e220c..20df3646425f0 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap5.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap5.js @@ -152,7 +152,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/dependency/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap6.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap6.js index 51e72004668ea..9a337eed8109a 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap6.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap6.js @@ -161,7 +161,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/dependency/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap7.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap7.js index 65bc82cbe3961..0f3be23f9e694 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap7.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap7.js @@ -147,7 +147,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap8.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap8.js index a9719baf147b6..e953ab0ecfdf6 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap8.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap8.js @@ -146,7 +146,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap9.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap9.js index 705a96b86ed99..fe3b7b00eb85b 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap9.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap9.js @@ -136,7 +136,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap1.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap1.js index 7a90e4c4c954c..4909321788149 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap1.js @@ -136,7 +136,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap2.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap2.js index 1a022712a4db5..29669e8a4b3a0 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap2.js @@ -124,7 +124,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap3.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap3.js index 13b17b6682bc8..c7018a94f6bf1 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap3.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap3.js @@ -124,7 +124,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap4.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap4.js index 2ffac7c8db6d0..335c1022b4fcb 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap4.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap4.js @@ -127,7 +127,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap5.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap5.js index 23befedc223b4..1009e7acbb374 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap5.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_importsMap5.js @@ -144,7 +144,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_pnpm.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_pnpm.js index 8ae6d39cf5061..cbcc1c137bcfb 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_pnpm.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_pnpm.js @@ -108,7 +108,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_referencesCrash.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_referencesCrash.js index d450527844d9a..3673e20e3bdce 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_referencesCrash.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_referencesCrash.js @@ -123,7 +123,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportReExportFromAmbientModule.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportReExportFromAmbientModule.js index 3d62824418ed0..a008d168b4629 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportReExportFromAmbientModule.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportReExportFromAmbientModule.js @@ -120,7 +120,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/fs-extra/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportRelativePathToMonorepoPackage.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportRelativePathToMonorepoPackage.js index cbe3e5e6343d0..5303b2d3b4259 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportRelativePathToMonorepoPackage.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportRelativePathToMonorepoPackage.js @@ -133,7 +133,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_addToNamedWithDifferentCacheValue.js b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_addToNamedWithDifferentCacheValue.js index 5de871b5aa44b..222f353826af2 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_addToNamedWithDifferentCacheValue.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_addToNamedWithDifferentCacheValue.js @@ -142,7 +142,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_computedSymbolName.js b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_computedSymbolName.js index 7ae432a29bb9b..f419b03f17372 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_computedSymbolName.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_computedSymbolName.js @@ -132,7 +132,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/ts-node/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_defaultAndNamedConflict_server.js b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_defaultAndNamedConflict_server.js index 0b0dfd17ec6df..98ec284338fbc 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_defaultAndNamedConflict_server.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_defaultAndNamedConflict_server.js @@ -122,7 +122,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_jsModuleExportsAssignment.js b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_jsModuleExportsAssignment.js index b8422d79e5b20..da08ad59580be 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_jsModuleExportsAssignment.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_jsModuleExportsAssignment.js @@ -127,7 +127,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_mergedReExport.js b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_mergedReExport.js index 7b6c42054d4cc..392aff2eef8a8 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_mergedReExport.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_mergedReExport.js @@ -123,7 +123,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_sortingModuleSpecifiers.js b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_sortingModuleSpecifiers.js index 47a4af1eac5b7..641e53b808c92 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_sortingModuleSpecifiers.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_sortingModuleSpecifiers.js @@ -117,7 +117,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tests/cases/fourslash/server/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tests/cases/fourslash/server/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: /tests/cases/fourslash/server/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsOverridingMethodCrash2.js b/tests/baselines/reference/tsserver/fourslashServer/completionsOverridingMethodCrash2.js index 910b66c3723eb..117b5f6b06f2e 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsOverridingMethodCrash2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsOverridingMethodCrash2.js @@ -123,7 +123,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/configurePlugin.js b/tests/baselines/reference/tsserver/fourslashServer/configurePlugin.js index 8be78f867d90f..336751b1978ef 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/configurePlugin.js +++ b/tests/baselines/reference/tsserver/fourslashServer/configurePlugin.js @@ -116,7 +116,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tests/cases/fourslash/server/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tests/cases/fourslash/server/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: /tests/cases/fourslash/server/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations diff --git a/tests/baselines/reference/tsserver/fourslashServer/declarationMapsEnableMapping_NoInline.js b/tests/baselines/reference/tsserver/fourslashServer/declarationMapsEnableMapping_NoInline.js index ef26d4f97b122..2099bde1dba76 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/declarationMapsEnableMapping_NoInline.js +++ b/tests/baselines/reference/tsserver/fourslashServer/declarationMapsEnableMapping_NoInline.js @@ -161,7 +161,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) @@ -381,7 +380,6 @@ Info seq [hh:mm:ss:mss] request: "command": "open" } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /mymodule.ts ProjectRootPath: undefined:: Result: /tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/fourslashServer/declarationMapsEnableMapping_NoInlineSources.js b/tests/baselines/reference/tsserver/fourslashServer/declarationMapsEnableMapping_NoInlineSources.js index 69848a7685bd1..f0412731ba954 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/declarationMapsEnableMapping_NoInlineSources.js +++ b/tests/baselines/reference/tsserver/fourslashServer/declarationMapsEnableMapping_NoInlineSources.js @@ -163,7 +163,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) @@ -383,7 +382,6 @@ Info seq [hh:mm:ss:mss] request: "command": "open" } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /mymodule.ts ProjectRootPath: undefined:: Result: /tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/fourslashServer/declarationMapsGeneratedMapsEnableMapping.js b/tests/baselines/reference/tsserver/fourslashServer/declarationMapsGeneratedMapsEnableMapping.js index 64c4ea44f364f..66aba0223826e 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/declarationMapsGeneratedMapsEnableMapping.js +++ b/tests/baselines/reference/tsserver/fourslashServer/declarationMapsGeneratedMapsEnableMapping.js @@ -159,7 +159,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) @@ -379,7 +378,6 @@ Info seq [hh:mm:ss:mss] request: "command": "open" } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /mymodule.ts ProjectRootPath: undefined:: Result: /tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/fourslashServer/declarationMapsGeneratedMapsEnableMapping2.js b/tests/baselines/reference/tsserver/fourslashServer/declarationMapsGeneratedMapsEnableMapping2.js index 4ef839c4773dc..8ed6a916f71b6 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/declarationMapsGeneratedMapsEnableMapping2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/declarationMapsGeneratedMapsEnableMapping2.js @@ -166,7 +166,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) @@ -391,7 +390,6 @@ Info seq [hh:mm:ss:mss] request: "command": "open" } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /mymodule.ts ProjectRootPath: undefined:: Result: /tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/fourslashServer/declarationMapsGeneratedMapsEnableMapping3.js b/tests/baselines/reference/tsserver/fourslashServer/declarationMapsGeneratedMapsEnableMapping3.js index 7312ebd7adcb5..9d7284d1ff576 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/declarationMapsGeneratedMapsEnableMapping3.js +++ b/tests/baselines/reference/tsserver/fourslashServer/declarationMapsGeneratedMapsEnableMapping3.js @@ -176,7 +176,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) @@ -396,7 +395,6 @@ Info seq [hh:mm:ss:mss] request: "command": "open" } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /mymodule.ts ProjectRootPath: undefined:: Result: /tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_deduplicate.js b/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_deduplicate.js index 549faec089fe0..a08538741bc86 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_deduplicate.js +++ b/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_deduplicate.js @@ -306,7 +306,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_server1.js b/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_server1.js index 0e2949931f192..60d997753ee9a 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_server1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_server1.js @@ -121,7 +121,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /project/tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_server2.js b/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_server2.js index e1c21ae58d427..fe4c169cdb6e1 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_server2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/getFileReferences_server2.js @@ -337,7 +337,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/goToSource15_bundler.js b/tests/baselines/reference/tsserver/fourslashServer/goToSource15_bundler.js index c4f6c64bd6fab..78d1d976ce5e6 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/goToSource15_bundler.js +++ b/tests/baselines/reference/tsserver/fourslashServer/goToSource15_bundler.js @@ -124,7 +124,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/impliedNodeFormat.js b/tests/baselines/reference/tsserver/fourslashServer/impliedNodeFormat.js index 11fc6ede5dc62..e0a3531674e6b 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/impliedNodeFormat.js +++ b/tests/baselines/reference/tsserver/fourslashServer/impliedNodeFormat.js @@ -112,7 +112,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/importFixes_ambientCircularDefaultCrash.js b/tests/baselines/reference/tsserver/fourslashServer/importFixes_ambientCircularDefaultCrash.js index 01a73d2ee55bd..1ebbbb43de89c 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importFixes_ambientCircularDefaultCrash.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importFixes_ambientCircularDefaultCrash.js @@ -113,7 +113,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/importNameCodeFix_externalNonRelateive2.js b/tests/baselines/reference/tsserver/fourslashServer/importNameCodeFix_externalNonRelateive2.js index d179e3a367e9a..a8bbe4593f0db 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importNameCodeFix_externalNonRelateive2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importNameCodeFix_externalNonRelateive2.js @@ -141,7 +141,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /apps/app1/tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/importNameCodeFix_pnpm1.js b/tests/baselines/reference/tsserver/fourslashServer/importNameCodeFix_pnpm1.js index 9693d660af6d9..18dfb69aebd36 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importNameCodeFix_pnpm1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importNameCodeFix_pnpm1.js @@ -106,7 +106,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /project/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution diff --git a/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpm1.js b/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpm1.js index 0a388404faf9f..5434281eacb3d 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpm1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpm1.js @@ -106,7 +106,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /project/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution diff --git a/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpmTransitive.js b/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpmTransitive.js index c1f99beaf193f..e49b65b0c7ba3 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpmTransitive.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpmTransitive.js @@ -118,7 +118,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /project/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/csstype@3.0.8/node_modules/csstype/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/csstype@3.0.8/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution diff --git a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_ambient.js b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_ambient.js index d6fbb1ea1a370..aafe8e99d1ddd 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_ambient.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_ambient.js @@ -101,7 +101,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_coreNodeModules.js b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_coreNodeModules.js index b22577f1c5256..6cda5b0aaa8c4 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_coreNodeModules.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_coreNodeModules.js @@ -141,7 +141,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms diff --git a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_exportUndefined.js b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_exportUndefined.js index e6ca00b5d71c7..1074b15df190b 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_exportUndefined.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_exportUndefined.js @@ -115,7 +115,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_invalidPackageJson.js b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_invalidPackageJson.js index cc255143c2268..70ab7c39ab6c0 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_invalidPackageJson.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_invalidPackageJson.js @@ -124,7 +124,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /jsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms diff --git a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_moduleAugmentation.js b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_moduleAugmentation.js index 6fda92b60d527..673f4ddbb6d3f 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_moduleAugmentation.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_moduleAugmentation.js @@ -112,7 +112,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/react/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms diff --git a/tests/baselines/reference/tsserver/fourslashServer/ngProxy1.js b/tests/baselines/reference/tsserver/fourslashServer/ngProxy1.js index 5023d8df35afc..b466d753b15d5 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/ngProxy1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/ngProxy1.js @@ -116,7 +116,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tests/cases/fourslash/server/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tests/cases/fourslash/server/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: /tests/cases/fourslash/server/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations diff --git a/tests/baselines/reference/tsserver/fourslashServer/ngProxy2.js b/tests/baselines/reference/tsserver/fourslashServer/ngProxy2.js index 9263cfc2b2254..952656ca4815e 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/ngProxy2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/ngProxy2.js @@ -116,7 +116,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tests/cases/fourslash/server/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tests/cases/fourslash/server/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: /tests/cases/fourslash/server/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations diff --git a/tests/baselines/reference/tsserver/fourslashServer/ngProxy3.js b/tests/baselines/reference/tsserver/fourslashServer/ngProxy3.js index 0015d0eb038d5..fa078e712831a 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/ngProxy3.js +++ b/tests/baselines/reference/tsserver/fourslashServer/ngProxy3.js @@ -115,7 +115,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tests/cases/fourslash/server/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tests/cases/fourslash/server/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: /tests/cases/fourslash/server/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations diff --git a/tests/baselines/reference/tsserver/fourslashServer/ngProxy4.js b/tests/baselines/reference/tsserver/fourslashServer/ngProxy4.js index cf6cf84a4a7ad..f838a472a4f3a 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/ngProxy4.js +++ b/tests/baselines/reference/tsserver/fourslashServer/ngProxy4.js @@ -115,7 +115,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tests/cases/fourslash/server/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tests/cases/fourslash/server/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: /tests/cases/fourslash/server/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations diff --git a/tests/baselines/reference/tsserver/fourslashServer/nodeNextModuleKindCaching1.js b/tests/baselines/reference/tsserver/fourslashServer/nodeNextModuleKindCaching1.js index b0011721774b9..68b5a0686c68a 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/nodeNextModuleKindCaching1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/nodeNextModuleKindCaching1.js @@ -180,7 +180,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tests/cases/fourslash/server/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tests/cases/fourslash/server/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] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastesConsistentlyLargerInSize.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastesConsistentlyLargerInSize.js new file mode 100644 index 0000000000000..78ab9b41c0ac3 --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastesConsistentlyLargerInSize.js @@ -0,0 +1,396 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/a.ts] +function foo() { + const p = 1; + console.log("yes"); +} +class bar { + constructor() { + function a() { + console.log("have a good day"); + } + a(); + function b() { + function c() { + const test = 1 + 2 + 3; + } + } + b(); + } + c() { + console.log("hello again"); + function k() { + const happy = banana + avocados; + } + } +} + +//// [/b.ts] +export const juice = 1; +export const sauce = 2; +export const fig = 3; +export const tomato = 4; + +//// [/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": ["a.ts", "b.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/a.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a.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 /a.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/a.ts", + "/b.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +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 (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 + /a.ts SVC-1-0 "function foo() {\n const p = 1;\n console.log(\"yes\");\n}\nclass bar {\n constructor() {\n function a() {\n console.log(\"have a good day\");\n }\n a();\n function b() {\n function c() {\n const test = 1 + 2 + 3;\n } \n }\n b();\n }\n c() {\n console.log(\"hello again\");\n function k() {\n const happy = banana + avocados;\n }\n }\n}" + /b.ts Text-1 "export const juice = 1;\nexport const sauce = 2;\nexport const fig = 3;\nexport const tomato = 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' + a.ts + Part of 'files' list in tsconfig.json + 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": "/a.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: /a.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 0, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After Request +watchedFiles:: +/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 (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* +/b.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 + +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": "/a.ts", + "pastedText": [ + "const t = 1 + juice + p;", + "function avacado() { return sauce; }", + "fig + kiwi", + "function k() {\n const cherry = 3 + tomato + cucumber;\n }" + ], + "pasteLocations": [ + { + "start": { + "line": 3, + "offset": 4 + }, + "end": { + "line": 3, + "offset": 23 + } + }, + { + "start": { + "line": 8, + "offset": 13 + }, + "end": { + "line": 8, + "offset": 44 + } + }, + { + "start": { + "line": 13, + "offset": 29 + }, + "end": { + "line": 13, + "offset": 34 + } + }, + { + "start": { + "line": 20, + "offset": 9 + }, + "end": { + "line": 22, + "offset": 10 + } + } + ] + }, + "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 + /a.ts SVC-1-1 "function foo() {\n const p = 1;\n const t = 1 + juice + p;\n}\nclass bar {\n constructor() {\n function a() {\n function avacado() { return sauce; }\n }\n a();\n function b() {\n function c() {\n const test = fig + kiwi + 3;\n } \n }\n b();\n }\n c() {\n console.log(\"hello again\");\n function k() {\n const cherry = 3 + tomato + cucumber;\n }\n }\n}" + /b.ts Text-1 "export const juice = 1;\nexport const sauce = 2;\nexport const fig = 3;\nexport const tomato = 4;" + +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": "/a.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 1 + }, + "newText": "import { juice, sauce, fig, tomato } from \"./b\";\n\n" + }, + { + "start": { + "line": 3, + "offset": 4 + }, + "end": { + "line": 3, + "offset": 23 + }, + "newText": "const t = 1 + juice + p;" + }, + { + "start": { + "line": 8, + "offset": 13 + }, + "end": { + "line": 8, + "offset": 44 + }, + "newText": "function avacado() { return sauce; }" + }, + { + "start": { + "line": 13, + "offset": 29 + }, + "end": { + "line": 13, + "offset": 34 + }, + "newText": "fig + kiwi" + }, + { + "start": { + "line": 20, + "offset": 9 + }, + "end": { + "line": 22, + "offset": 10 + }, + "newText": "function k() {\n const cherry = 3 + tomato + cucumber;\n }" + } + ] + } + ], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/a.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* +/b.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 diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastesConsistentlySmallerInSize.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastesConsistentlySmallerInSize.js new file mode 100644 index 0000000000000..bf2203d796453 --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastesConsistentlySmallerInSize.js @@ -0,0 +1,403 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/a.ts] +function foo() { + const p = 1; + function bar() { + console.log("Testing"); + } + console.log("yes"); +} +class bar { + constructor() { + function a() { + function aa() { + console.log("have a good day"); + } + + } + a(); + function b() { + function c() { + export const testing = 1; + const test = 1 + testing + 3; + } + } + b(); + } + c() { + console.log("hello again"); + function k() { + const happy = banana + avocados; + } + } +} + +//// [/b.ts] +export const juice = 1; +export const sauce = 2; +export const fig = 3; +export const tomato = 4; + +//// [/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": ["a.ts", "b.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/a.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a.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 /a.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/a.ts", + "/b.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +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 (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 + /a.ts SVC-1-0 "function foo() {\n const p = 1;\n function bar() {\n console.log(\"Testing\");\n }\n console.log(\"yes\");\n}\nclass bar {\n constructor() {\n function a() {\n function aa() {\n console.log(\"have a good day\");\n }\n \n }\n a();\n function b() {\n function c() {\n export const testing = 1;\n const test = 1 + testing + 3;\n }\n }\n b();\n }\n c() {\n console.log(\"hello again\");\n function k() {\n const happy = banana + avocados;\n }\n }\n}" + /b.ts Text-1 "export const juice = 1;\nexport const sauce = 2;\nexport const fig = 3;\nexport const tomato = 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' + a.ts + Part of 'files' list in tsconfig.json + 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": "/a.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: /a.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 0, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After Request +watchedFiles:: +/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 (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* +/b.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 + +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": "/a.ts", + "pastedText": [ + "juice", + "sole.log(sauce + juice);", + "fig + kiwi", + "function k() {\n const cherry =tomato + kiwi;\n }" + ], + "pasteLocations": [ + { + "start": { + "line": 4, + "offset": 20 + }, + "end": { + "line": 4, + "offset": 29 + } + }, + { + "start": { + "line": 12, + "offset": 19 + }, + "end": { + "line": 12, + "offset": 47 + } + }, + { + "start": { + "line": 20, + "offset": 29 + }, + "end": { + "line": 20, + "offset": 43 + } + }, + { + "start": { + "line": 27, + "offset": 9 + }, + "end": { + "line": 29, + "offset": 10 + } + } + ] + }, + "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 + /a.ts SVC-1-1 "function foo() {\n const p = 1;\n function bar() {\n console.log(juice);\n }\n console.log(\"yes\");\n}\nclass bar {\n constructor() {\n function a() {\n function aa() {\n console.log(sauce + juice);\n }\n \n }\n a();\n function b() {\n function c() {\n export const testing = 1;\n const test = fig + kiwi3;\n }\n }\n b();\n }\n c() {\n console.log(\"hello again\");\n function k() {\n const cherry =tomato + kiwi;\n }\n }\n}" + /b.ts Text-1 "export const juice = 1;\nexport const sauce = 2;\nexport const fig = 3;\nexport const tomato = 4;" + +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": "/a.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 1 + }, + "newText": "import { sauce, juice, fig, tomato } from \"./b\";\n\n" + }, + { + "start": { + "line": 4, + "offset": 20 + }, + "end": { + "line": 4, + "offset": 29 + }, + "newText": "juice" + }, + { + "start": { + "line": 12, + "offset": 19 + }, + "end": { + "line": 12, + "offset": 47 + }, + "newText": "sole.log(sauce + juice);" + }, + { + "start": { + "line": 20, + "offset": 29 + }, + "end": { + "line": 20, + "offset": 43 + }, + "newText": "fig + kiwi" + }, + { + "start": { + "line": 27, + "offset": 9 + }, + "end": { + "line": 29, + "offset": 10 + }, + "newText": "function k() {\n const cherry =tomato + kiwi;\n }" + } + ] + } + ], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/a.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* +/b.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 diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastesEqualInSize.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastesEqualInSize.js new file mode 100644 index 0000000000000..0a98e82e17d6a --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastesEqualInSize.js @@ -0,0 +1,395 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/a.ts] +function foo() { + console.log("yes"); +} +class bar { + constructor() { + function a() { + console.log("have a good day"); + } + a(); + function b() { + function c() { + const test = 1 + 2 + 3; + } + } + b(); + } + c() { + console.log("hello again"); + function k() { + const happy = 1 + banana + avocados; + } + } +} + +//// [/b.ts] +export const juice = 1; +export const sauce = 2; +export const apple = 3; +export const tomato = 4; + +//// [/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": ["a.ts", "b.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/a.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a.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 /a.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/a.ts", + "/b.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +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 (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 + /a.ts SVC-1-0 "function foo() {\n console.log(\"yes\");\n}\nclass bar {\n constructor() {\n function a() {\n console.log(\"have a good day\");\n }\n a();\n function b() {\n function c() {\n const test = 1 + 2 + 3;\n }\n }\n b();\n }\n c() {\n console.log(\"hello again\");\n function k() {\n const happy = 1 + banana + avocados;\n }\n }\n}" + /b.ts Text-1 "export const juice = 1;\nexport const sauce = 2;\nexport const apple = 3;\nexport const tomato = 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' + a.ts + Part of 'files' list in tsconfig.json + 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": "/a.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: /a.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 0, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After Request +watchedFiles:: +/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 (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* +/b.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 + +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": "/a.ts", + "pastedText": [ + "console.log(juice);", + "function kl() { return sauce; }", + "apple", + "function k() {\n const cherry = 3 + tomato + cucumber;\n }" + ], + "pasteLocations": [ + { + "start": { + "line": 2, + "offset": 5 + }, + "end": { + "line": 2, + "offset": 24 + } + }, + { + "start": { + "line": 7, + "offset": 13 + }, + "end": { + "line": 7, + "offset": 44 + } + }, + { + "start": { + "line": 12, + "offset": 29 + }, + "end": { + "line": 12, + "offset": 34 + } + }, + { + "start": { + "line": 19, + "offset": 9 + }, + "end": { + "line": 21, + "offset": 10 + } + } + ] + }, + "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 + /a.ts SVC-1-1 "function foo() {\n console.log(juice);\n}\nclass bar {\n constructor() {\n function a() {\n function kl() { return sauce; }\n }\n a();\n function b() {\n function c() {\n const test = apple + 3;\n }\n }\n b();\n }\n c() {\n console.log(\"hello again\");\n function k() {\n const cherry = 3 + tomato + cucumber;\n }\n }\n}" + /b.ts Text-1 "export const juice = 1;\nexport const sauce = 2;\nexport const apple = 3;\nexport const tomato = 4;" + +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": "/a.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 1 + }, + "newText": "import { juice, sauce, tomato } from \"./b\";\n\n" + }, + { + "start": { + "line": 2, + "offset": 5 + }, + "end": { + "line": 2, + "offset": 24 + }, + "newText": "console.log(juice);" + }, + { + "start": { + "line": 7, + "offset": 13 + }, + "end": { + "line": 7, + "offset": 44 + }, + "newText": "function kl() { return sauce; }" + }, + { + "start": { + "line": 12, + "offset": 29 + }, + "end": { + "line": 12, + "offset": 34 + }, + "newText": "apple" + }, + { + "start": { + "line": 19, + "offset": 9 + }, + "end": { + "line": 21, + "offset": 10 + }, + "newText": "function k() {\n const cherry = 3 + tomato + cucumber;\n }" + } + ] + } + ], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/a.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* +/b.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 diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastesGrowingAndShrinkingInSize.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastesGrowingAndShrinkingInSize.js new file mode 100644 index 0000000000000..3ff982d88d1f0 --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastesGrowingAndShrinkingInSize.js @@ -0,0 +1,392 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/a.ts] +function foo() { + console.log("Hello"); +} +class bar { + constructor() { + function a() { + console.log("hii"); + } + a(); + function b() { + function c() { + console.log("hola"); + } + } + b(); + } + c() { + console.log("hello again"); + + } +} + +//// [/b.ts] +export const juice = 1; +export const sauce = 2; +export const tomato = 3; + +//// [/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": ["a.ts", "b.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/a.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a.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 /a.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/a.ts", + "/b.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +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 (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 + /a.ts SVC-1-0 "function foo() {\n console.log(\"Hello\");\n}\nclass bar {\n constructor() {\n function a() {\n console.log(\"hii\");\n }\n a();\n function b() {\n function c() {\n console.log(\"hola\");\n }\n }\n b();\n }\n c() {\n console.log(\"hello again\");\n \n }\n}" + /b.ts Text-1 "export const juice = 1;\nexport const sauce = 2;\nexport const tomato = 3;" + + + 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' + a.ts + Part of 'files' list in tsconfig.json + 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": "/a.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: /a.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 0, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After Request +watchedFiles:: +/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 (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* +/b.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 + +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": "/a.ts", + "pastedText": [ + "log(sauce);", + "const apple = 1 + juice", + "const kiwi = 1;", + "function k() {\n const cherry = 3 + tomato + cucumber;\n }" + ], + "pasteLocations": [ + { + "start": { + "line": 2, + "offset": 13 + }, + "end": { + "line": 2, + "offset": 26 + } + }, + { + "start": { + "line": 5, + "offset": 5 + }, + "end": { + "line": 5, + "offset": 12 + } + }, + { + "start": { + "line": 12, + "offset": 16 + }, + "end": { + "line": 12, + "offset": 36 + } + }, + { + "start": { + "line": 19, + "offset": 9 + }, + "end": { + "line": 19, + "offset": 9 + } + } + ] + }, + "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 + /a.ts SVC-1-1 "function foo() {\n console.log(sauce);\n}\nclass bar {\n const apple = 1 + juicector() {\n function a() {\n console.log(\"hii\");\n }\n a();\n function b() {\n function c() {\n const kiwi = 1;\n }\n }\n b();\n }\n c() {\n console.log(\"hello again\");\n function k() {\n const cherry = 3 + tomato + cucumber;\n }\n }\n}" + /b.ts Text-1 "export const juice = 1;\nexport const sauce = 2;\nexport const tomato = 3;" + +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": "/a.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 1 + }, + "newText": "import { sauce, tomato } from \"./b\";\n\n" + }, + { + "start": { + "line": 2, + "offset": 13 + }, + "end": { + "line": 2, + "offset": 26 + }, + "newText": "log(sauce);" + }, + { + "start": { + "line": 5, + "offset": 5 + }, + "end": { + "line": 5, + "offset": 12 + }, + "newText": "const apple = 1 + juice" + }, + { + "start": { + "line": 12, + "offset": 16 + }, + "end": { + "line": 12, + "offset": 36 + }, + "newText": "const kiwi = 1;" + }, + { + "start": { + "line": 19, + "offset": 9 + }, + "end": { + "line": 19, + "offset": 9 + }, + "newText": "function k() {\n const cherry = 3 + tomato + cucumber;\n }" + } + ] + } + ], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/a.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* +/b.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 diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastesGrowingInSize.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastesGrowingInSize.js new file mode 100644 index 0000000000000..b73c74561d734 --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastesGrowingInSize.js @@ -0,0 +1,412 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/a.ts] +function foo() { + const p = 1; +} +function too() { + function k(t: string) { + console.log(t); + } +} +class bar { + constructor() { + function a() { + console.log("hello"); + } + a(); + } + c() { + console.log("hello again"); + function k() { + const happy = banana + avocados; + } + } +} + +//// [/b.ts] +export const juices = 1; +export const sauce = 2; + +//// [/c.ts] +export const figs = 3; +export const tomato = 4; + +//// [/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": ["a.ts", "b.ts", "c.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/a.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a.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 /a.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/a.ts", + "/b.ts", + "/c.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /b.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /c.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 + /a.ts SVC-1-0 "function foo() {\n const p = 1;\n}\nfunction too() {\n function k(t: string) {\n console.log(t);\n }\n}\nclass bar {\n constructor() {\n function a() {\n console.log(\"hello\");\n }\n a();\n }\n c() {\n console.log(\"hello again\");\n function k() {\n const happy = banana + avocados;\n }\n }\n}" + /b.ts Text-1 "export const juices = 1;\nexport const sauce = 2;" + /c.ts Text-1 "export const figs = 3;\nexport const tomato = 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' + a.ts + Part of 'files' list in tsconfig.json + b.ts + Part of 'files' list in tsconfig.json + c.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": "/a.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: /a.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 0, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After Request +watchedFiles:: +/b.ts: *new* + {"pollingInterval":500} +/c.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 (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* +/b.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/c.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 + +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": "/a.ts", + "pastedText": [ + "const t = figs;", + "apples : number", + " console.log(sauce + tomato); ", + "//function k(i:string) {\n const cherry = 3 + juices + cucumber;\n// }" + ], + "pasteLocations": [ + { + "start": { + "line": 2, + "offset": 4 + }, + "end": { + "line": 2, + "offset": 16 + } + }, + { + "start": { + "line": 5, + "offset": 15 + }, + "end": { + "line": 5, + "offset": 24 + } + }, + { + "start": { + "line": 12, + "offset": 1 + }, + "end": { + "line": 12, + "offset": 34 + } + }, + { + "start": { + "line": 18, + "offset": 9 + }, + "end": { + "line": 20, + "offset": 10 + } + } + ] + }, + "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 + /a.ts SVC-1-1 "function foo() {\n const t = figs;\n}\nfunction too() {\n function k(apples : number) {\n console.log(t);\n }\n}\nclass bar {\n constructor() {\n function a() {\n console.log(sauce + tomato); \n }\n a();\n }\n c() {\n console.log(\"hello again\");\n //function k(i:string) {\n const cherry = 3 + juices + cucumber;\n// }\n }\n}" + /b.ts Text-1 "export const juices = 1;\nexport const sauce = 2;" + /c.ts Text-1 "export const figs = 3;\nexport const tomato = 4;" + +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": "/a.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 1 + }, + "newText": "import { sauce, juices } from \"./b\";\nimport { figs, tomato } from \"./c\";\n\n" + }, + { + "start": { + "line": 2, + "offset": 4 + }, + "end": { + "line": 2, + "offset": 16 + }, + "newText": "const t = figs;" + }, + { + "start": { + "line": 5, + "offset": 15 + }, + "end": { + "line": 5, + "offset": 24 + }, + "newText": "apples : number" + }, + { + "start": { + "line": 12, + "offset": 1 + }, + "end": { + "line": 12, + "offset": 34 + }, + "newText": " console.log(sauce + tomato); " + }, + { + "start": { + "line": 18, + "offset": 9 + }, + "end": { + "line": 20, + "offset": 10 + }, + "newText": "//function k(i:string) {\n const cherry = 3 + juices + cucumber;\n// }" + } + ] + } + ], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/a.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* +/b.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/c.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 diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastesShrinkingInSize.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastesShrinkingInSize.js new file mode 100644 index 0000000000000..0f1ad0b71e624 --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_multiplePastesShrinkingInSize.js @@ -0,0 +1,412 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/a.ts] +function foo() { + console.log("Good day"); +} +function too() { + function k(t: string) { + console.log("Happy Holidays"); + } +} +class bar { + constructor() { + function a() { + console.log("hello"); + } + a(); + } + c() { + console.log("hello again"); + function k() { + const happy = banana + avocados; + } + } +} + +//// [/b.ts] +export const juices = 1; +export const sauce = 2; + +//// [/c.ts] +export const figs = 3; +export const tomato = 4; + +//// [/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": ["a.ts", "b.ts", "c.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/a.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a.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 /a.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/a.ts", + "/b.ts", + "/c.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /b.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /c.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 + /a.ts SVC-1-0 "function foo() {\n console.log(\"Good day\");\n}\nfunction too() {\n function k(t: string) {\n console.log(\"Happy Holidays\");\n }\n}\nclass bar {\n constructor() {\n function a() {\n console.log(\"hello\");\n }\n a();\n }\n c() {\n console.log(\"hello again\");\n function k() {\n const happy = banana + avocados;\n }\n }\n}" + /b.ts Text-1 "export const juices = 1;\nexport const sauce = 2;" + /c.ts Text-1 "export const figs = 3;\nexport const tomato = 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' + a.ts + Part of 'files' list in tsconfig.json + b.ts + Part of 'files' list in tsconfig.json + c.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": "/a.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: /a.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 0, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After Request +watchedFiles:: +/b.ts: *new* + {"pollingInterval":500} +/c.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 (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* +/b.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/c.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 + +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": "/a.ts", + "pastedText": [ + "console.log(\"Good \");", + "const k = figs + juices;", + " console.log(tomato);", + "(kiwi: string) {\n const cherry=tomato;\n }" + ], + "pasteLocations": [ + { + "start": { + "line": 2, + "offset": 4 + }, + "end": { + "line": 2, + "offset": 28 + } + }, + { + "start": { + "line": 6, + "offset": 8 + }, + "end": { + "line": 6, + "offset": 38 + } + }, + { + "start": { + "line": 12, + "offset": 1 + }, + "end": { + "line": 12, + "offset": 34 + } + }, + { + "start": { + "line": 18, + "offset": 19 + }, + "end": { + "line": 20, + "offset": 10 + } + } + ] + }, + "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 + /a.ts SVC-1-1 "function foo() {\n console.log(\"Good \");\n}\nfunction too() {\n function k(t: string) {\n const k = figs + juices;\n }\n}\nclass bar {\n constructor() {\n function a() {\n console.log(tomato);\n }\n a();\n }\n c() {\n console.log(\"hello again\");\n function k(kiwi: string) {\n const cherry=tomato;\n }\n }\n}" + /b.ts Text-1 "export const juices = 1;\nexport const sauce = 2;" + /c.ts Text-1 "export const figs = 3;\nexport const tomato = 4;" + +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": "/a.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 1 + }, + "newText": "import { juices } from \"./b\";\nimport { figs, tomato } from \"./c\";\n\n" + }, + { + "start": { + "line": 2, + "offset": 4 + }, + "end": { + "line": 2, + "offset": 28 + }, + "newText": "console.log(\"Good \");" + }, + { + "start": { + "line": 6, + "offset": 8 + }, + "end": { + "line": 6, + "offset": 38 + }, + "newText": "const k = figs + juices;" + }, + { + "start": { + "line": 12, + "offset": 1 + }, + "end": { + "line": 12, + "offset": 34 + }, + "newText": " console.log(tomato);" + }, + { + "start": { + "line": 18, + "offset": 19 + }, + "end": { + "line": 20, + "offset": 10 + }, + "newText": "(kiwi: string) {\n const cherry=tomato;\n }" + } + ] + } + ], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/a.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* +/b.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/c.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 diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_noImportNeededInUpdatedProgram.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_noImportNeededInUpdatedProgram.js new file mode 100644 index 0000000000000..8737891440e7c --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_noImportNeededInUpdatedProgram.js @@ -0,0 +1,276 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/a.ts] + + +//// [/b.ts] +export const b = 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": ["a.ts", "b.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/a.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a.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 /a.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/a.ts", + "/b.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +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 (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 + /a.ts SVC-1-0 "" + /b.ts Text-1 "export const b = 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' + a.ts + Part of 'files' list in tsconfig.json + 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": "/a.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: /a.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 0, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After Request +watchedFiles:: +/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 (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* +/b.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 + +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": "/a.ts", + "pastedText": [ + "const b = 1;\nconsole.log(b);" + ], + "pasteLocations": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "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 + /a.ts SVC-1-1 "const b = 1;\nconsole.log(b);" + /b.ts Text-1 "export const b = 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": [], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/a.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* +/b.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 diff --git a/tests/baselines/reference/tsserver/fourslashServer/referencesInEmptyFileWithMultipleProjects.js b/tests/baselines/reference/tsserver/fourslashServer/referencesInEmptyFileWithMultipleProjects.js index 51a458b46e826..4f545cf852334 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/referencesInEmptyFileWithMultipleProjects.js +++ b/tests/baselines/reference/tsserver/fourslashServer/referencesInEmptyFileWithMultipleProjects.js @@ -101,7 +101,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/referencesInStringLiteralValueWithMultipleProjects.js b/tests/baselines/reference/tsserver/fourslashServer/referencesInStringLiteralValueWithMultipleProjects.js index 8e403ca25c484..bd92af73a6c4c 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/referencesInStringLiteralValueWithMultipleProjects.js +++ b/tests/baselines/reference/tsserver/fourslashServer/referencesInStringLiteralValueWithMultipleProjects.js @@ -101,7 +101,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/tsconfig.json 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) diff --git a/tests/baselines/reference/tsserver/fourslashServer/renameNamedImport.js b/tests/baselines/reference/tsserver/fourslashServer/renameNamedImport.js index 76b8b1494e4b7..a9c1735ca628d 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/renameNamedImport.js +++ b/tests/baselines/reference/tsserver/fourslashServer/renameNamedImport.js @@ -103,92 +103,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /lib/tsconfig.json 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 /lib/tsconfig.json to open" - } - } -Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { - "rootNames": [ - "/lib.d.ts", - "/lib.decorators.d.ts", - "/lib.decorators.legacy.d.ts", - "/lib/index.ts", - "/src/index.ts" - ], - "options": { - "configFilePath": "/tsconfig.json" - } -} -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /src/index.ts 500 undefined WatchType: Closed Script info -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json -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.decorators.d.ts Text-1 lib.decorators.d.ts-Text - /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text - /lib.d.ts Text-1 lib.d.ts-Text - /lib/index.ts Text-1 "const unrelatedLocalVariable = 123;\nexport const someExportedVariable = unrelatedLocalVariable;" - /src/index.ts Text-1 "import { someExportedVariable } from '../lib/index';\nsomeExportedVariable;" - - - lib.decorators.d.ts - Library referenced via 'decorators' from file 'lib.d.ts' - Matched by default include pattern '**/*' - lib.decorators.legacy.d.ts - Library referenced via 'decorators.legacy' from file 'lib.d.ts' - Matched by default include pattern '**/*' - lib.d.ts - Matched by default include pattern '**/*' - lib/index.ts - Matched by default include pattern '**/*' - Imported via '../lib/index' from file 'src/index.ts' - src/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": "/tsconfig.json" - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/lib/tsconfig.json", - "configFile": "/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/lib/tsconfig.json", - "configFile": "/tsconfig.json", - "diagnostics": [] - } - } 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) @@ -212,10 +126,6 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Project '/lib/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (4) -Info seq [hh:mm:ss:mss] ----------------------------------------------- -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] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (4) @@ -247,14 +157,8 @@ watchedFiles:: {"pollingInterval":500} /lib/tsconfig.json: *new* {"pollingInterval":2000} -/src/index.ts: *new* - {"pollingInterval":500} -/tsconfig.json: *new* - {"pollingInterval":2000} watchedDirectoriesRecursive:: -: *new* - {} /lib: *new* {} @@ -266,43 +170,31 @@ Projects:: projectStateVersion: 1 projectProgramVersion: 1 noOpenRef: true -/tsconfig.json (Configured) *new* - projectStateVersion: 1 - projectProgramVersion: 1 - noOpenRef: true ScriptInfos:: /lib.d.ts *new* version: Text-1 - containingProjects: 3 + containingProjects: 2 /lib/tsconfig.json - /tsconfig.json /dev/null/inferredProject1* /lib.decorators.d.ts *new* version: Text-1 - containingProjects: 3 + containingProjects: 2 /lib/tsconfig.json - /tsconfig.json /dev/null/inferredProject1* /lib.decorators.legacy.d.ts *new* version: Text-1 - containingProjects: 3 + containingProjects: 2 /lib/tsconfig.json - /tsconfig.json /dev/null/inferredProject1* /lib/index.ts *new* version: Text-1 - containingProjects: 2 + containingProjects: 1 /lib/tsconfig.json - /tsconfig.json /lib/tsconfig.json (Open) *new* version: SVC-1-0 containingProjects: 1 /dev/null/inferredProject1* *default* -/src/index.ts *new* - version: Text-1 - containingProjects: 1 - /tsconfig.json Info seq [hh:mm:ss:mss] request: { @@ -315,35 +207,6 @@ Info seq [hh:mm:ss:mss] request: } Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /lib/index.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /lib/index.ts ProjectRootPath: undefined:: Result: /lib/tsconfig.json -Info seq [hh:mm:ss:mss] `remove Project:: -Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (5) - /lib.decorators.d.ts - /lib.decorators.legacy.d.ts - /lib.d.ts - /lib/index.ts - /src/index.ts - - - lib.decorators.d.ts - Library referenced via 'decorators' from file 'lib.d.ts' - Matched by default include pattern '**/*' - lib.decorators.legacy.d.ts - Library referenced via 'decorators.legacy' from file 'lib.d.ts' - Matched by default include pattern '**/*' - lib.d.ts - Matched by default include pattern '**/*' - lib/index.ts - Matched by default include pattern '**/*' - Imported via '../lib/index' from file 'src/index.ts' - src/index.ts - Matched by default include pattern '**/*' - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file -Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /src/index.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Project '/lib/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (4) @@ -379,19 +242,11 @@ watchedFiles:: watchedFiles *deleted*:: /lib/index.ts: {"pollingInterval":500} -/src/index.ts: - {"pollingInterval":500} -/tsconfig.json: - {"pollingInterval":2000} watchedDirectoriesRecursive:: /lib: {} -watchedDirectoriesRecursive *deleted*:: -: - {} - Projects:: /dev/null/inferredProject1* (Inferred) projectStateVersion: 1 @@ -400,45 +255,32 @@ Projects:: projectStateVersion: 1 projectProgramVersion: 1 noOpenRef: false *changed* -/tsconfig.json (Configured) *deleted* - projectStateVersion: 1 - projectProgramVersion: 1 - isClosed: true *changed* - noOpenRef: true ScriptInfos:: -/lib.d.ts *changed* +/lib.d.ts version: Text-1 - containingProjects: 2 *changed* + containingProjects: 2 /lib/tsconfig.json /dev/null/inferredProject1* - /tsconfig.json *deleted* -/lib.decorators.d.ts *changed* +/lib.decorators.d.ts version: Text-1 - containingProjects: 2 *changed* + containingProjects: 2 /lib/tsconfig.json /dev/null/inferredProject1* - /tsconfig.json *deleted* -/lib.decorators.legacy.d.ts *changed* +/lib.decorators.legacy.d.ts version: Text-1 - containingProjects: 2 *changed* + containingProjects: 2 /lib/tsconfig.json /dev/null/inferredProject1* - /tsconfig.json *deleted* /lib/index.ts (Open) *changed* open: true *changed* version: Text-1 - containingProjects: 1 *changed* + containingProjects: 1 /lib/tsconfig.json *default* - /tsconfig.json *deleted* /lib/tsconfig.json (Open) version: SVC-1-0 containingProjects: 1 /dev/null/inferredProject1* *default* -/src/index.ts *deleted* - version: Text-1 - containingProjects: 0 *changed* - /tsconfig.json *deleted* Info seq [hh:mm:ss:mss] request: { @@ -480,7 +322,7 @@ Info seq [hh:mm:ss:mss] Files (5) /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text /lib/index.ts Text-1 "const unrelatedLocalVariable = 123;\nexport const someExportedVariable = unrelatedLocalVariable;" - /src/index.ts SVC-2-0 "import { someExportedVariable } from '../lib/index';\nsomeExportedVariable;" + /src/index.ts SVC-1-0 "import { someExportedVariable } from '../lib/index';\nsomeExportedVariable;" ../lib.d.ts @@ -604,7 +446,7 @@ ScriptInfos:: containingProjects: 1 /dev/null/inferredProject1* *default* /src/index.ts (Open) *new* - version: SVC-2-0 + version: SVC-1-0 containingProjects: 1 /src/tsconfig.json *default* diff --git a/tests/baselines/reference/tsserver/fourslashServer/renameNamespaceImport.js b/tests/baselines/reference/tsserver/fourslashServer/renameNamespaceImport.js index 4ed42ecd46d6a..d7cb6b4a08ef1 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/renameNamespaceImport.js +++ b/tests/baselines/reference/tsserver/fourslashServer/renameNamespaceImport.js @@ -103,92 +103,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /lib/tsconfig.json 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 /lib/tsconfig.json to open" - } - } -Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { - "rootNames": [ - "/lib.d.ts", - "/lib.decorators.d.ts", - "/lib.decorators.legacy.d.ts", - "/lib/index.ts", - "/src/index.ts" - ], - "options": { - "configFilePath": "/tsconfig.json" - } -} -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /src/index.ts 500 undefined WatchType: Closed Script info -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json -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.decorators.d.ts Text-1 lib.decorators.d.ts-Text - /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text - /lib.d.ts Text-1 lib.d.ts-Text - /lib/index.ts Text-1 "const unrelatedLocalVariable = 123;\nexport const someExportedVariable = unrelatedLocalVariable;" - /src/index.ts Text-1 "import * as lib from '../lib/index';\nlib.someExportedVariable;" - - - lib.decorators.d.ts - Library referenced via 'decorators' from file 'lib.d.ts' - Matched by default include pattern '**/*' - lib.decorators.legacy.d.ts - Library referenced via 'decorators.legacy' from file 'lib.d.ts' - Matched by default include pattern '**/*' - lib.d.ts - Matched by default include pattern '**/*' - lib/index.ts - Matched by default include pattern '**/*' - Imported via '../lib/index' from file 'src/index.ts' - src/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": "/tsconfig.json" - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/lib/tsconfig.json", - "configFile": "/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/lib/tsconfig.json", - "configFile": "/tsconfig.json", - "diagnostics": [] - } - } 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) @@ -212,10 +126,6 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Project '/lib/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (4) -Info seq [hh:mm:ss:mss] ----------------------------------------------- -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] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (4) @@ -247,14 +157,8 @@ watchedFiles:: {"pollingInterval":500} /lib/tsconfig.json: *new* {"pollingInterval":2000} -/src/index.ts: *new* - {"pollingInterval":500} -/tsconfig.json: *new* - {"pollingInterval":2000} watchedDirectoriesRecursive:: -: *new* - {} /lib: *new* {} @@ -266,43 +170,31 @@ Projects:: projectStateVersion: 1 projectProgramVersion: 1 noOpenRef: true -/tsconfig.json (Configured) *new* - projectStateVersion: 1 - projectProgramVersion: 1 - noOpenRef: true ScriptInfos:: /lib.d.ts *new* version: Text-1 - containingProjects: 3 + containingProjects: 2 /lib/tsconfig.json - /tsconfig.json /dev/null/inferredProject1* /lib.decorators.d.ts *new* version: Text-1 - containingProjects: 3 + containingProjects: 2 /lib/tsconfig.json - /tsconfig.json /dev/null/inferredProject1* /lib.decorators.legacy.d.ts *new* version: Text-1 - containingProjects: 3 + containingProjects: 2 /lib/tsconfig.json - /tsconfig.json /dev/null/inferredProject1* /lib/index.ts *new* version: Text-1 - containingProjects: 2 + containingProjects: 1 /lib/tsconfig.json - /tsconfig.json /lib/tsconfig.json (Open) *new* version: SVC-1-0 containingProjects: 1 /dev/null/inferredProject1* *default* -/src/index.ts *new* - version: Text-1 - containingProjects: 1 - /tsconfig.json Info seq [hh:mm:ss:mss] request: { @@ -315,35 +207,6 @@ Info seq [hh:mm:ss:mss] request: } Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /lib/index.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /lib/index.ts ProjectRootPath: undefined:: Result: /lib/tsconfig.json -Info seq [hh:mm:ss:mss] `remove Project:: -Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (5) - /lib.decorators.d.ts - /lib.decorators.legacy.d.ts - /lib.d.ts - /lib/index.ts - /src/index.ts - - - lib.decorators.d.ts - Library referenced via 'decorators' from file 'lib.d.ts' - Matched by default include pattern '**/*' - lib.decorators.legacy.d.ts - Library referenced via 'decorators.legacy' from file 'lib.d.ts' - Matched by default include pattern '**/*' - lib.d.ts - Matched by default include pattern '**/*' - lib/index.ts - Matched by default include pattern '**/*' - Imported via '../lib/index' from file 'src/index.ts' - src/index.ts - Matched by default include pattern '**/*' - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file -Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /src/index.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Project '/lib/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (4) @@ -379,19 +242,11 @@ watchedFiles:: watchedFiles *deleted*:: /lib/index.ts: {"pollingInterval":500} -/src/index.ts: - {"pollingInterval":500} -/tsconfig.json: - {"pollingInterval":2000} watchedDirectoriesRecursive:: /lib: {} -watchedDirectoriesRecursive *deleted*:: -: - {} - Projects:: /dev/null/inferredProject1* (Inferred) projectStateVersion: 1 @@ -400,45 +255,32 @@ Projects:: projectStateVersion: 1 projectProgramVersion: 1 noOpenRef: false *changed* -/tsconfig.json (Configured) *deleted* - projectStateVersion: 1 - projectProgramVersion: 1 - isClosed: true *changed* - noOpenRef: true ScriptInfos:: -/lib.d.ts *changed* +/lib.d.ts version: Text-1 - containingProjects: 2 *changed* + containingProjects: 2 /lib/tsconfig.json /dev/null/inferredProject1* - /tsconfig.json *deleted* -/lib.decorators.d.ts *changed* +/lib.decorators.d.ts version: Text-1 - containingProjects: 2 *changed* + containingProjects: 2 /lib/tsconfig.json /dev/null/inferredProject1* - /tsconfig.json *deleted* -/lib.decorators.legacy.d.ts *changed* +/lib.decorators.legacy.d.ts version: Text-1 - containingProjects: 2 *changed* + containingProjects: 2 /lib/tsconfig.json /dev/null/inferredProject1* - /tsconfig.json *deleted* /lib/index.ts (Open) *changed* open: true *changed* version: Text-1 - containingProjects: 1 *changed* + containingProjects: 1 /lib/tsconfig.json *default* - /tsconfig.json *deleted* /lib/tsconfig.json (Open) version: SVC-1-0 containingProjects: 1 /dev/null/inferredProject1* *default* -/src/index.ts *deleted* - version: Text-1 - containingProjects: 0 *changed* - /tsconfig.json *deleted* Info seq [hh:mm:ss:mss] request: { @@ -480,7 +322,7 @@ Info seq [hh:mm:ss:mss] Files (5) /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text /lib/index.ts Text-1 "const unrelatedLocalVariable = 123;\nexport const someExportedVariable = unrelatedLocalVariable;" - /src/index.ts SVC-2-0 "import * as lib from '../lib/index';\nlib.someExportedVariable;" + /src/index.ts SVC-1-0 "import * as lib from '../lib/index';\nlib.someExportedVariable;" ../lib.d.ts @@ -604,7 +446,7 @@ ScriptInfos:: containingProjects: 1 /dev/null/inferredProject1* *default* /src/index.ts (Open) *new* - version: SVC-2-0 + version: SVC-1-0 containingProjects: 1 /src/tsconfig.json *default* diff --git a/tests/baselines/reference/tsserver/fourslashServer/tripleSlashReferenceResolutionMode.js b/tests/baselines/reference/tsserver/fourslashServer/tripleSlashReferenceResolutionMode.js index 23596c76a370d..dbdd00931532c 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/tripleSlashReferenceResolutionMode.js +++ b/tests/baselines/reference/tsserver/fourslashServer/tripleSlashReferenceResolutionMode.js @@ -163,7 +163,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* 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 diff --git a/tests/baselines/reference/tsserver/fourslashServer/tsconfigComputedPropertyError.js b/tests/baselines/reference/tsserver/fourslashServer/tsconfigComputedPropertyError.js index 3d23d9dec731d..c2897e5c51494 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/tsconfigComputedPropertyError.js +++ b/tests/baselines/reference/tsserver/fourslashServer/tsconfigComputedPropertyError.js @@ -136,7 +136,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tests/cases/fourslash/server/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tests/cases/fourslash/server/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: /tests/cases/fourslash/server/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations diff --git a/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-file-moved-to-inferred-project.js b/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-file-moved-to-inferred-project.js index 5b0144db58f55..adf0cf01b030f 100644 --- a/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-file-moved-to-inferred-project.js +++ b/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-file-moved-to-inferred-project.js @@ -243,7 +243,6 @@ Info seq [hh:mm:ss:mss] request: "type": "request" } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /c.ts ProjectRootPath: undefined:: Result: /tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/importHelpers/import-helpers-successfully.js b/tests/baselines/reference/tsserver/importHelpers/import-helpers-successfully.js index d2a636da061b0..0ee38b81a7703 100644 --- a/tests/baselines/reference/tsserver/importHelpers/import-helpers-successfully.js +++ b/tests/baselines/reference/tsserver/importHelpers/import-helpers-successfully.js @@ -202,7 +202,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms diff --git a/tests/baselines/reference/tsserver/inferredProjects/should-still-retain-configured-project-created-while-opening-the-file.js b/tests/baselines/reference/tsserver/inferredProjects/should-still-retain-configured-project-created-while-opening-the-file.js index 77174ec907f35..24edc8f7fcf7d 100644 --- a/tests/baselines/reference/tsserver/inferredProjects/should-still-retain-configured-project-created-while-opening-the-file.js +++ b/tests/baselines/reference/tsserver/inferredProjects/should-still-retain-configured-project-created-while-opening-the-file.js @@ -140,7 +140,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: undefined:: Result: undefined 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/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots @@ -478,7 +477,6 @@ Info seq [hh:mm:ss:mss] request: Info seq [hh:mm:ss:mss] Invoking /user/username/projects/myproject/tsconfig.json:: wildcard for open scriptInfo:: /user/username/projects/myproject/jsFile2.js Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/jsFile2.js Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/jsFile2.js ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -687,7 +685,6 @@ Info seq [hh:mm:ss:mss] request: Info seq [hh:mm:ss:mss] Invoking /user/username/projects/myproject/tsconfig.json:: wildcard for open scriptInfo:: /user/username/projects/myproject/jsFile1.js Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/jsFile1.js Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/jsFile1.js ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/packageJsonInfo/detects-new-package.json-files-that-are-added,-caches-them,-and-watches-them.js b/tests/baselines/reference/tsserver/packageJsonInfo/detects-new-package.json-files-that-are-added,-caches-them,-and-watches-them.js index dbf51b7610839..561c72aa92358 100644 --- a/tests/baselines/reference/tsserver/packageJsonInfo/detects-new-package.json-files-that-are-added,-caches-them,-and-watches-them.js +++ b/tests/baselines/reference/tsserver/packageJsonInfo/detects-new-package.json-files-that-are-added,-caches-them,-and-watches-them.js @@ -108,7 +108,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms diff --git a/tests/baselines/reference/tsserver/packageJsonInfo/finds-multiple-package.json-files-when-present.js b/tests/baselines/reference/tsserver/packageJsonInfo/finds-multiple-package.json-files-when-present.js index d09421523ae16..c3f9073f3ff84 100644 --- a/tests/baselines/reference/tsserver/packageJsonInfo/finds-multiple-package.json-files-when-present.js +++ b/tests/baselines/reference/tsserver/packageJsonInfo/finds-multiple-package.json-files-when-present.js @@ -124,7 +124,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms diff --git a/tests/baselines/reference/tsserver/packageJsonInfo/finds-package.json-on-demand,-watches-for-deletion,-and-removes-them-from-cache.js b/tests/baselines/reference/tsserver/packageJsonInfo/finds-package.json-on-demand,-watches-for-deletion,-and-removes-them-from-cache.js index 4c2bb79d44cba..8c5ce994d92bc 100644 --- a/tests/baselines/reference/tsserver/packageJsonInfo/finds-package.json-on-demand,-watches-for-deletion,-and-removes-them-from-cache.js +++ b/tests/baselines/reference/tsserver/packageJsonInfo/finds-package.json-on-demand,-watches-for-deletion,-and-removes-them-from-cache.js @@ -124,7 +124,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms diff --git a/tests/baselines/reference/tsserver/packageJsonInfo/handles-empty-package.json.js b/tests/baselines/reference/tsserver/packageJsonInfo/handles-empty-package.json.js index 6cdf2e8e5ed93..d86e82430f285 100644 --- a/tests/baselines/reference/tsserver/packageJsonInfo/handles-empty-package.json.js +++ b/tests/baselines/reference/tsserver/packageJsonInfo/handles-empty-package.json.js @@ -111,7 +111,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms diff --git a/tests/baselines/reference/tsserver/packageJsonInfo/handles-errors-in-json-parsing-of-package.json.js b/tests/baselines/reference/tsserver/packageJsonInfo/handles-errors-in-json-parsing-of-package.json.js index ce0dab0dd9dda..6d74b1ea46629 100644 --- a/tests/baselines/reference/tsserver/packageJsonInfo/handles-errors-in-json-parsing-of-package.json.js +++ b/tests/baselines/reference/tsserver/packageJsonInfo/handles-errors-in-json-parsing-of-package.json.js @@ -111,7 +111,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms diff --git a/tests/baselines/reference/tsserver/projectErrors/configFileDiagnostic-events-are-not-generated-when-the-config-file-does-not-include-file-opened-and-config-file-has-errors.js b/tests/baselines/reference/tsserver/projectErrors/configFileDiagnostic-events-are-not-generated-when-the-config-file-does-not-include-file-opened-and-config-file-has-errors.js index acfd71eb7d6d2..c6d54eab29a3c 100644 --- a/tests/baselines/reference/tsserver/projectErrors/configFileDiagnostic-events-are-not-generated-when-the-config-file-does-not-include-file-opened-and-config-file-has-errors.js +++ b/tests/baselines/reference/tsserver/projectErrors/configFileDiagnostic-events-are-not-generated-when-the-config-file-does-not-include-file-opened-and-config-file-has-errors.js @@ -163,7 +163,6 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/tsconfig.json 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) @@ -317,7 +316,6 @@ Info seq [hh:mm:ss:mss] request: "type": "request" } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/test2.ts ProjectRootPath: undefined:: Result: /a/b/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/projectErrors/configFileDiagnostic-events-are-not-generated-when-the-config-file-does-not-include-file-opened-and-doesnt-contain-any-errors.js b/tests/baselines/reference/tsserver/projectErrors/configFileDiagnostic-events-are-not-generated-when-the-config-file-does-not-include-file-opened-and-doesnt-contain-any-errors.js index 4639489d9fa38..1dd3dca5bc9c1 100644 --- a/tests/baselines/reference/tsserver/projectErrors/configFileDiagnostic-events-are-not-generated-when-the-config-file-does-not-include-file-opened-and-doesnt-contain-any-errors.js +++ b/tests/baselines/reference/tsserver/projectErrors/configFileDiagnostic-events-are-not-generated-when-the-config-file-does-not-include-file-opened-and-doesnt-contain-any-errors.js @@ -136,7 +136,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/tsconfig.json 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) @@ -290,7 +289,6 @@ Info seq [hh:mm:ss:mss] request: "type": "request" } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/test2.ts ProjectRootPath: undefined:: Result: /a/b/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 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 7edd67b435f11..10f6019b10711 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 @@ -358,7 +358,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: undefined:: Result: undefined 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) @@ -1037,7 +1036,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: undefined:: Result: undefined 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) @@ -1289,7 +1287,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: undefined:: Result: undefined 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) 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 4bd2ba24cf0c1..09855a69e0ed2 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 @@ -218,7 +218,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/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/src/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/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root @@ -828,7 +827,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/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/src/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/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root @@ -1030,7 +1028,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/src/node_modules 1 undefined Project: /dev/null/inferredProject3* WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/src/node_modules 1 undefined Project: /dev/null/inferredProject3* WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /dev/null/inferredProject3* WatchType: Failed Lookup Locations 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 fec188ffe5d1a..c7fa59125b093 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 @@ -393,7 +393,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.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) @@ -1157,7 +1156,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.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) @@ -1444,7 +1442,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.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.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 b3e51ba30d0fc..56add6fbef821 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 @@ -250,7 +250,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.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) @@ -818,7 +817,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.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) @@ -1003,7 +1001,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.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 (4) 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 index 3fd8cc7a023e0..431b5c2dc82fe 100644 --- 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 @@ -203,271 +203,46 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: 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/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/app/Component-demos.ts", - "/home/src/projects/project/app/Component.ts", - "/home/src/projects/project/demos/helpers.ts" - ], - "options": { - "outDir": "/home/src/projects/project/dist", - "configFilePath": "/home/src/projects/project/tsconfig.json" - }, - "projectReferences": [ - { - "path": "/home/src/projects/project/demos/tsconfig.json", - "originalPath": "./demos/tsconfig.json" - }, - { - "path": "/home/src/projects/project/app/tsconfig.json", - "originalPath": "./app/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/demos/helpers.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] Config: /home/src/projects/project/demos/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/demos/helpers.ts", - "/home/src/projects/project/app/Component-demos.ts" - ], - "options": { - "composite": true, - "rootDir": "/home/src/projects/project", - "outDir": "/home/src/projects/project/demos-dist", - "paths": { - "demos/*": [ - "./*" - ] - }, - "pathsBasePath": "/home/src/projects/project/demos", - "configFilePath": "/home/src/projects/project/demos/tsconfig.json" - } -} -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/tsconfig.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/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/demos/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/demos/tsconfig.json WatchType: Wild card directory -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 (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; }" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" - - - ../../../../a/lib/lib.d.ts - Default library for target 'es5' - demos/helpers.ts - Imported via 'demos/helpers' from file 'app/Component-demos.ts' - Matched by default include pattern '**/*' - app/Component-demos.ts - Matched by default include pattern '**/*' - app/Component.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": 3, - "tsSize": 141, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "outDir": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/demos/tsconfig.json", - "reason": "Creating project referenced in solution /home/src/projects/project/tsconfig.json to find possible configured project for /home/src/projects/project/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/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/demos/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/demos/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/demos/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/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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] 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/demos/helpers.ts Text-1 "export const foo = 1;\n" /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' - helpers.ts - Matched by include pattern '**/*' in 'tsconfig.json' - Imported via 'demos/helpers' from file '../app/Component-demos.ts' - ../app/Component-demos.ts - Matched by include pattern '../app/**/*-demos.*' in 'tsconfig.json' + Component-demos.ts + Root file specified for compilation 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/demos/tsconfig.json" - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "telemetry", - "body": { - "telemetryEventName": "projectInfo", - "payload": { - "projectId": "528692a1575f61fd3bf7069493cc100a7cad975f6cd24c47b7a63b99928a8171", - "fileStats": { - "js": 0, - "jsSize": 0, - "jsx": 0, - "jsxSize": 0, - "ts": 2, - "tsSize": 107, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "composite": true, - "rootDir": "", - "outDir": "", - "paths": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/demos/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/demos/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json 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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -482,11 +257,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} /home/src/projects/node_modules/@types: *new* {"pollingInterval":500} +/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/demos/node_modules/@types: *new* +/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} @@ -498,65 +281,45 @@ FsWatches:: {} /home/src/projects/project/app/tsconfig.json: *new* {} -/home/src/projects/project/demos/helpers.ts: *new* - {} -/home/src/projects/project/demos/tsconfig.json: *new* - {} /home/src/projects/project/tsconfig.json: *new* {} FsWatchesRecursive:: -/home/src/projects/project: *new* - {} /home/src/projects/project/app: *new* {} -/home/src/projects/project/demos: *new* - {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *new* - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *new* +/dev/null/inferredProject1* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *new* +/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: 3 + containingProjects: 2 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* /home/src/projects/project/app/Component-demos.ts (Open) *new* version: SVC-1-0 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* + containingProjects: 1 + /dev/null/inferredProject1* *default* /home/src/projects/project/app/Component.ts *new* version: Text-1 - containingProjects: 2 + containingProjects: 1 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts *new* - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/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] Scheduled: /home/src/projects/project/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: 3 +Before running Timeout callback:: count: 2 1: /home/src/projects/project/app/tsconfig.json -2: /home/src/projects/project/tsconfig.json -3: *ensureProjectForOpenFiles* +2: *ensureProjectForOpenFiles* //// [/home/src/projects/project/app/tsconfig.json] { "compilerOptions": { @@ -572,23 +335,19 @@ Before running Timeout callback:: count: 3 } -Timeout callback:: count: 3 +Timeout callback:: count: 2 1: /home/src/projects/project/app/tsconfig.json *new* -2: /home/src/projects/project/tsconfig.json *new* -3: *ensureProjectForOpenFiles* *new* +2: *ensureProjectForOpenFiles* *new* Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *changed* - projectStateVersion: 2 *changed* - projectProgramVersion: 1 - dirty: true *changed* -/home/src/projects/project/demos/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *changed* +/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: @@ -638,78 +397,31 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/tsconfig.json -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: 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 (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; }" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /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": "configFileDiag", - "body": { - "triggerFile": "/home/src/projects/project/tsconfig.json", - "configFile": "/home/src/projects/project/tsconfig.json", - "diagnostics": [ - { - "start": { - "line": 9, - "offset": 5 - }, - "end": { - "line": 11, - "offset": 6 - }, - "text": "Referenced project '/home/src/projects/project/app/tsconfig.json' must have setting \"composite\": true.", - "code": 6306, - "category": "error", - "fileName": "/home/src/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 '/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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/demos/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json +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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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: { @@ -725,23 +437,20 @@ Info seq [hh:mm:ss:mss] event: After running Timeout callback:: count: 0 Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *changed* - projectStateVersion: 2 - projectProgramVersion: 1 - dirty: false *changed* -/home/src/projects/project/demos/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *changed* +/home/src/projects/project/app/tsconfig.json (Configured) *changed* projectStateVersion: 2 - projectProgramVersion: 2 *changed* + projectProgramVersion: 1 dirty: false *changed* + noOpenRef: true *changed* Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/demos/tsconfig.json + undefined Before request Info seq [hh:mm:ss:mss] request: @@ -855,25 +564,39 @@ Info seq [hh:mm:ss:mss] event: "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] Project '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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] 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 '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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: @@ -890,11 +613,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} /home/src/projects/node_modules/@types: {"pollingInterval":500} +/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/demos/node_modules/@types: +/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} @@ -904,39 +635,34 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: {} -/home/src/projects/project/app/Component.ts: - {} /home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/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/project: +/home/src/projects/random: *new* {} + +FsWatchesRecursive *deleted*:: /home/src/projects/project/app: {} -/home/src/projects/project/demos: - {} -/home/src/projects/random: *new* - {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 2 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) +/home/src/projects/project/app/tsconfig.json (Configured) *deleted* projectStateVersion: 2 - projectProgramVersion: 2 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true /home/src/projects/random/tsconfig.json (Configured) *new* projectStateVersion: 1 projectProgramVersion: 1 @@ -944,26 +670,18 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts *changed* version: Text-1 - containingProjects: 4 *changed* - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *deleted* version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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 @@ -981,25 +699,17 @@ Info seq [hh:mm:ss:mss] request: "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/project/app/tsconfig.json' (Configured) +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/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -1011,11 +721,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} /home/src/projects/node_modules/@types: {"pollingInterval":500} +/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/demos/node_modules/@types: +/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} @@ -1025,14 +743,8 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: {} -/home/src/projects/project/app/Component.ts: - {} /home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/tsconfig.json: - {} /home/src/projects/project/tsconfig.json: {} /home/src/projects/random/random.ts: *new* @@ -1041,25 +753,13 @@ FsWatches:: {} FsWatchesRecursive:: -/home/src/projects/project: - {} -/home/src/projects/project/app: - {} -/home/src/projects/project/demos: - {} /home/src/projects/random: {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 2 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) - projectStateVersion: 2 - projectProgramVersion: 2 /home/src/projects/random/tsconfig.json (Configured) *changed* projectStateVersion: 1 projectProgramVersion: 1 @@ -1068,26 +768,13 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts version: Text-1 - containingProjects: 4 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + containingProjects: 1 + /dev/null/inferredProject1* *default* /home/src/projects/random/random.ts *changed* open: false *changed* version: SVC-1-0 @@ -1096,19 +783,18 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/demos/tsconfig.json + 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] Scheduled: /home/src/projects/project/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] 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: 3 -4: /home/src/projects/project/app/tsconfig.json -5: /home/src/projects/project/tsconfig.json -6: *ensureProjectForOpenFiles* +Before running Timeout callback:: count: 2 +3: /home/src/projects/project/app/tsconfig.json +4: *ensureProjectForOpenFiles* //// [/home/src/projects/project/app/tsconfig.json] { "compilerOptions": { @@ -1124,23 +810,18 @@ Before running Timeout callback:: count: 3 } -Timeout callback:: count: 3 -4: /home/src/projects/project/app/tsconfig.json *new* -5: /home/src/projects/project/tsconfig.json *new* -6: *ensureProjectForOpenFiles* *new* +Timeout callback:: count: 2 +3: /home/src/projects/project/app/tsconfig.json *new* +4: *ensureProjectForOpenFiles* *new* Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *changed* - projectStateVersion: 3 *changed* - projectProgramVersion: 1 - dirty: true *changed* -/home/src/projects/project/demos/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 3 *changed* - projectProgramVersion: 2 - dirty: true *changed* +/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 @@ -1154,7 +835,7 @@ Info seq [hh:mm:ss:mss] event: "event": "projectLoadingStart", "body": { "projectName": "/home/src/projects/project/app/tsconfig.json", - "reason": "Change in config file detected" + "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 : { @@ -1167,12 +848,27 @@ Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : "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] 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] 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" + /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: @@ -1195,71 +891,39 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/tsconfig.json -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: 2 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 (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; }" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /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": "configFileDiag", - "body": { - "triggerFile": "/home/src/projects/project/tsconfig.json", - "configFile": "/home/src/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 '/home/src/projects/project/app/tsconfig.json' (Configured) +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/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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 '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/demos/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json +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] 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/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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 '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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: { @@ -1274,25 +938,82 @@ Info seq [hh:mm:ss:mss] event: } 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/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/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/random/node_modules/@types: + {"pollingInterval":500} + +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:: -/home/src/projects/project/app/tsconfig.json (Configured) *changed* - projectStateVersion: 3 - projectProgramVersion: 1 - dirty: false *changed* -/home/src/projects/project/demos/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 3 - projectProgramVersion: 3 *changed* +/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: - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/demos/tsconfig.json \ No newline at end of file + 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 index 12a99b70b9949..22467f7e7f32b 100644 --- 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 @@ -203,271 +203,46 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: 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/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/app/Component-demos.ts", - "/home/src/projects/project/app/Component.ts", - "/home/src/projects/project/demos/helpers.ts" - ], - "options": { - "outDir": "/home/src/projects/project/dist", - "configFilePath": "/home/src/projects/project/tsconfig.json" - }, - "projectReferences": [ - { - "path": "/home/src/projects/project/demos/tsconfig.json", - "originalPath": "./demos/tsconfig.json" - }, - { - "path": "/home/src/projects/project/app/tsconfig.json", - "originalPath": "./app/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/demos/helpers.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] Config: /home/src/projects/project/demos/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/demos/helpers.ts", - "/home/src/projects/project/app/Component-demos.ts" - ], - "options": { - "composite": true, - "rootDir": "/home/src/projects/project", - "outDir": "/home/src/projects/project/demos-dist", - "paths": { - "demos/*": [ - "./*" - ] - }, - "pathsBasePath": "/home/src/projects/project/demos", - "configFilePath": "/home/src/projects/project/demos/tsconfig.json" - } -} -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/tsconfig.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/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/demos/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/demos/tsconfig.json WatchType: Wild card directory -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 (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; }" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" - - - ../../../../a/lib/lib.d.ts - Default library for target 'es5' - demos/helpers.ts - Imported via 'demos/helpers' from file 'app/Component-demos.ts' - Matched by default include pattern '**/*' - app/Component-demos.ts - Matched by default include pattern '**/*' - app/Component.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": 3, - "tsSize": 141, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "outDir": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/demos/tsconfig.json", - "reason": "Creating project referenced in solution /home/src/projects/project/tsconfig.json to find possible configured project for /home/src/projects/project/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/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/demos/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/demos/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/demos/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/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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] 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/demos/helpers.ts Text-1 "export const foo = 1;\n" /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' - helpers.ts - Matched by include pattern '**/*' in 'tsconfig.json' - Imported via 'demos/helpers' from file '../app/Component-demos.ts' - ../app/Component-demos.ts - Matched by include pattern '../app/**/*-demos.*' in 'tsconfig.json' + Component-demos.ts + Root file specified for compilation 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/demos/tsconfig.json" - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "telemetry", - "body": { - "telemetryEventName": "projectInfo", - "payload": { - "projectId": "528692a1575f61fd3bf7069493cc100a7cad975f6cd24c47b7a63b99928a8171", - "fileStats": { - "js": 0, - "jsSize": 0, - "jsx": 0, - "jsxSize": 0, - "ts": 2, - "tsSize": 107, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "composite": true, - "rootDir": "", - "outDir": "", - "paths": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/demos/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/demos/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json 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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -482,11 +257,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} /home/src/projects/node_modules/@types: *new* {"pollingInterval":500} +/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/demos/node_modules/@types: *new* +/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} @@ -498,65 +281,45 @@ FsWatches:: {} /home/src/projects/project/app/tsconfig.json: *new* {} -/home/src/projects/project/demos/helpers.ts: *new* - {} -/home/src/projects/project/demos/tsconfig.json: *new* - {} /home/src/projects/project/tsconfig.json: *new* {} FsWatchesRecursive:: -/home/src/projects/project: *new* - {} /home/src/projects/project/app: *new* {} -/home/src/projects/project/demos: *new* - {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *new* +/dev/null/inferredProject1* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *new* - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *new* +/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: 3 + containingProjects: 2 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* /home/src/projects/project/app/Component-demos.ts (Open) *new* version: SVC-1-0 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* + containingProjects: 1 + /dev/null/inferredProject1* *default* /home/src/projects/project/app/Component.ts *new* version: Text-1 - containingProjects: 2 + containingProjects: 1 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts *new* - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/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] Scheduled: /home/src/projects/project/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: 3 +Before running Timeout callback:: count: 2 1: /home/src/projects/project/app/tsconfig.json -2: /home/src/projects/project/tsconfig.json -3: *ensureProjectForOpenFiles* +2: *ensureProjectForOpenFiles* //// [/home/src/projects/project/app/tsconfig.json] { "compilerOptions": { @@ -572,23 +335,19 @@ Before running Timeout callback:: count: 3 } -Timeout callback:: count: 3 +Timeout callback:: count: 2 1: /home/src/projects/project/app/tsconfig.json *new* -2: /home/src/projects/project/tsconfig.json *new* -3: *ensureProjectForOpenFiles* *new* +2: *ensureProjectForOpenFiles* *new* Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *changed* - projectStateVersion: 2 *changed* - projectProgramVersion: 1 - dirty: true *changed* -/home/src/projects/project/demos/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *changed* +/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: @@ -638,78 +397,31 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/tsconfig.json -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: 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 (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; }" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /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": "configFileDiag", - "body": { - "triggerFile": "/home/src/projects/project/tsconfig.json", - "configFile": "/home/src/projects/project/tsconfig.json", - "diagnostics": [ - { - "start": { - "line": 9, - "offset": 5 - }, - "end": { - "line": 11, - "offset": 6 - }, - "text": "Referenced project '/home/src/projects/project/app/tsconfig.json' must have setting \"composite\": true.", - "code": 6306, - "category": "error", - "fileName": "/home/src/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 '/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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/demos/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json +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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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: { @@ -725,33 +437,28 @@ Info seq [hh:mm:ss:mss] event: After running Timeout callback:: count: 0 Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *changed* - projectStateVersion: 2 - projectProgramVersion: 1 - dirty: false *changed* -/home/src/projects/project/demos/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *changed* +/home/src/projects/project/app/tsconfig.json (Configured) *changed* projectStateVersion: 2 - projectProgramVersion: 2 *changed* + projectProgramVersion: 1 dirty: false *changed* + noOpenRef: true *changed* Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/demos/tsconfig.json + 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] Scheduled: /home/src/projects/project/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: 3 -4: /home/src/projects/project/app/tsconfig.json -5: /home/src/projects/project/tsconfig.json -6: *ensureProjectForOpenFiles* +Before running Timeout callback:: count: 2 +3: /home/src/projects/project/app/tsconfig.json +4: *ensureProjectForOpenFiles* //// [/home/src/projects/project/app/tsconfig.json] { "compilerOptions": { @@ -767,23 +474,19 @@ Before running Timeout callback:: count: 3 } -Timeout callback:: count: 3 -4: /home/src/projects/project/app/tsconfig.json *new* -5: /home/src/projects/project/tsconfig.json *new* -6: *ensureProjectForOpenFiles* *new* +Timeout callback:: count: 2 +3: /home/src/projects/project/app/tsconfig.json *new* +4: *ensureProjectForOpenFiles* *new* Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *changed* - projectStateVersion: 3 *changed* - projectProgramVersion: 1 - dirty: true *changed* -/home/src/projects/project/demos/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *changed* +/home/src/projects/project/app/tsconfig.json (Configured) *changed* projectStateVersion: 3 *changed* - projectProgramVersion: 2 + 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: @@ -834,63 +537,31 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/tsconfig.json -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: 2 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 (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; }" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /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": "configFileDiag", - "body": { - "triggerFile": "/home/src/projects/project/tsconfig.json", - "configFile": "/home/src/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 '/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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/demos/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json +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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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: { @@ -906,23 +577,20 @@ Info seq [hh:mm:ss:mss] event: After running Timeout callback:: count: 0 Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *changed* - projectStateVersion: 3 - projectProgramVersion: 1 - dirty: false *changed* -/home/src/projects/project/demos/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *changed* +/home/src/projects/project/app/tsconfig.json (Configured) *changed* projectStateVersion: 3 - projectProgramVersion: 3 *changed* + projectProgramVersion: 1 dirty: false *changed* + noOpenRef: true *changed* Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/demos/tsconfig.json + undefined Before request Info seq [hh:mm:ss:mss] request: @@ -1036,25 +704,39 @@ Info seq [hh:mm:ss:mss] event: "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] Project '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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] 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 '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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: @@ -1071,11 +753,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} /home/src/projects/node_modules/@types: {"pollingInterval":500} +/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/demos/node_modules/@types: +/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} @@ -1085,39 +775,34 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: {} -/home/src/projects/project/app/Component.ts: - {} /home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/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/project: +/home/src/projects/random: *new* {} + +FsWatchesRecursive *deleted*:: /home/src/projects/project/app: {} -/home/src/projects/project/demos: - {} -/home/src/projects/random: *new* - {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 3 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) +/home/src/projects/project/app/tsconfig.json (Configured) *deleted* projectStateVersion: 3 - projectProgramVersion: 3 + projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true /home/src/projects/random/tsconfig.json (Configured) *new* projectStateVersion: 1 projectProgramVersion: 1 @@ -1125,26 +810,18 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts *changed* version: Text-1 - containingProjects: 4 *changed* - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *deleted* version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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 @@ -1162,25 +839,17 @@ Info seq [hh:mm:ss:mss] request: "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/project/app/tsconfig.json' (Configured) +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/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -1192,11 +861,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} /home/src/projects/node_modules/@types: {"pollingInterval":500} +/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/demos/node_modules/@types: +/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} @@ -1206,14 +883,8 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: {} -/home/src/projects/project/app/Component.ts: - {} /home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/tsconfig.json: - {} /home/src/projects/project/tsconfig.json: {} /home/src/projects/random/random.ts: *new* @@ -1222,25 +893,13 @@ FsWatches:: {} FsWatchesRecursive:: -/home/src/projects/project: - {} -/home/src/projects/project/app: - {} -/home/src/projects/project/demos: - {} /home/src/projects/random: {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 3 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) - projectStateVersion: 3 - projectProgramVersion: 3 /home/src/projects/random/tsconfig.json (Configured) *changed* projectStateVersion: 1 projectProgramVersion: 1 @@ -1249,26 +908,13 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts version: Text-1 - containingProjects: 4 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + containingProjects: 1 + /dev/null/inferredProject1* *default* /home/src/projects/random/random.ts *changed* open: false *changed* version: SVC-1-0 @@ -1277,6 +923,6 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/demos/tsconfig.json \ No newline at end of file + 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 index f2304f6c604bf..ceb05d5d0cca9 100644 --- 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 @@ -203,271 +203,46 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: 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/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/app/Component-demos.ts", - "/home/src/projects/project/app/Component.ts", - "/home/src/projects/project/demos/helpers.ts" - ], - "options": { - "outDir": "/home/src/projects/project/dist", - "configFilePath": "/home/src/projects/project/tsconfig.json" - }, - "projectReferences": [ - { - "path": "/home/src/projects/project/demos/tsconfig.json", - "originalPath": "./demos/tsconfig.json" - }, - { - "path": "/home/src/projects/project/app/tsconfig.json", - "originalPath": "./app/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/demos/helpers.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] Config: /home/src/projects/project/demos/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/demos/helpers.ts", - "/home/src/projects/project/app/Component-demos.ts" - ], - "options": { - "composite": true, - "rootDir": "/home/src/projects/project", - "outDir": "/home/src/projects/project/demos-dist", - "paths": { - "demos/*": [ - "./*" - ] - }, - "pathsBasePath": "/home/src/projects/project/demos", - "configFilePath": "/home/src/projects/project/demos/tsconfig.json" - } -} -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/tsconfig.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/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/demos/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/demos/tsconfig.json WatchType: Wild card directory -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 (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; }" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" - - - ../../../../a/lib/lib.d.ts - Default library for target 'es5' - demos/helpers.ts - Imported via 'demos/helpers' from file 'app/Component-demos.ts' - Matched by default include pattern '**/*' - app/Component-demos.ts - Matched by default include pattern '**/*' - app/Component.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": 3, - "tsSize": 141, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "outDir": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/demos/tsconfig.json", - "reason": "Creating project referenced in solution /home/src/projects/project/tsconfig.json to find possible configured project for /home/src/projects/project/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/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/demos/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/demos/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/demos/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/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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] 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/demos/helpers.ts Text-1 "export const foo = 1;\n" /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' - helpers.ts - Matched by include pattern '**/*' in 'tsconfig.json' - Imported via 'demos/helpers' from file '../app/Component-demos.ts' - ../app/Component-demos.ts - Matched by include pattern '../app/**/*-demos.*' in 'tsconfig.json' + Component-demos.ts + Root file specified for compilation 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/demos/tsconfig.json" - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "telemetry", - "body": { - "telemetryEventName": "projectInfo", - "payload": { - "projectId": "528692a1575f61fd3bf7069493cc100a7cad975f6cd24c47b7a63b99928a8171", - "fileStats": { - "js": 0, - "jsSize": 0, - "jsx": 0, - "jsxSize": 0, - "ts": 2, - "tsSize": 107, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "composite": true, - "rootDir": "", - "outDir": "", - "paths": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/demos/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/demos/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json 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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -481,323 +256,89 @@ Info seq [hh:mm:ss:mss] response: } After request -PolledWatches:: -/home/src/projects/node_modules/@types: *new* - {"pollingInterval":500} -/home/src/projects/project/app/node_modules/@types: *new* - {"pollingInterval":500} -/home/src/projects/project/demos/node_modules/@types: *new* - {"pollingInterval":500} -/home/src/projects/project/node_modules/@types: *new* - {"pollingInterval":500} - -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/demos/helpers.ts: *new* - {} -/home/src/projects/project/demos/tsconfig.json: *new* - {} -/home/src/projects/project/tsconfig.json: *new* - {} - -FsWatchesRecursive:: -/home/src/projects/project: *new* - {} -/home/src/projects/project/app: *new* - {} -/home/src/projects/project/demos: *new* - {} - -Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *new* - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *new* - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *new* - projectStateVersion: 1 - projectProgramVersion: 1 - -ScriptInfos:: -/a/lib/lib.d.ts *new* - version: Text-1 - containingProjects: 3 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json -/home/src/projects/project/app/Component-demos.ts (Open) *new* - version: SVC-1-0 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* -/home/src/projects/project/app/Component.ts *new* - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts *new* - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json - -Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project/demos/tsconfig.json 1:: WatchInfo: /home/src/projects/project/demos/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] Scheduled: /home/src/projects/project/demos/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/demos/tsconfig.json 1:: WatchInfo: /home/src/projects/project/demos/tsconfig.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Config file -Before running Timeout callback:: count: 3 -1: /home/src/projects/project/tsconfig.json -2: /home/src/projects/project/demos/tsconfig.json -3: *ensureProjectForOpenFiles* -//// [/home/src/projects/project/demos/tsconfig.json] -{ - "compilerOptions": { - "composite": true, - "rootDir": "../", - "outDir": "../demos-dist/", - "paths": { - "demos/*": [ - "./*" - ] - } - }, - "include": [ - "**/*", - - ] -} - - -Timeout callback:: count: 3 -1: /home/src/projects/project/tsconfig.json *new* -2: /home/src/projects/project/demos/tsconfig.json *new* -3: *ensureProjectForOpenFiles* *new* - -Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *changed* - projectStateVersion: 2 *changed* - projectProgramVersion: 1 - dirty: true *changed* -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 2 *changed* - projectProgramVersion: 1 - dirty: true *changed* - -Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/tsconfig.json -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/demos/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/demos/helpers.ts" - ], - "options": { - "composite": true, - "rootDir": "/home/src/projects/project", - "outDir": "/home/src/projects/project/demos-dist", - "paths": { - "demos/*": [ - "./*" - ] - }, - "pathsBasePath": "/home/src/projects/project/demos", - "configFilePath": "/home/src/projects/project/demos/tsconfig.json" - } -} -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/demos/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/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 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/app 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 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] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/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/node_modules 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 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 (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; }" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/demos/tsconfig.json", - "reason": "Change in config file detected" - } - } -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/demos/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/demos/helpers.ts Text-1 "export const foo = 1;\n" - - - ../../../../../a/lib/lib.d.ts - Default library for target 'es5' - helpers.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/demos/tsconfig.json" - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/home/src/projects/project/demos/tsconfig.json", - "configFile": "/home/src/projects/project/demos/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 '/home/src/projects/project/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/projects/project/demos/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/project/app/Component-demos.ts ProjectRootPath: undefined -Info seq [hh:mm:ss:mss] Projects: /home/src/projects/project/tsconfig.json -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 '/home/src/projects/project/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/projects/project/demos/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/project/app/Component-demos.ts ProjectRootPath: undefined -Info seq [hh:mm:ss:mss] Projects: /home/src/projects/project/tsconfig.json -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: *new* {"pollingInterval":500} -/home/src/projects/node_modules/@types: +/home/src/projects/node_modules/@types: *new* {"pollingInterval":500} -/home/src/projects/project/app/node_modules/@types: +/home/src/projects/project/app/jsconfig.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: *new* {"pollingInterval":500} -/home/src/projects/project/demos/node_modules/@types: +/home/src/projects/project/app/node_modules/@types: *new* {"pollingInterval":500} +/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: - {"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/node_modules/@types: *new* + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: *new* {} -/home/src/projects/project/demos/helpers.ts: +/home/src/projects/project/app/Component.ts: *new* {} -/home/src/projects/project/demos/tsconfig.json: +/home/src/projects/project/app/tsconfig.json: *new* {} -/home/src/projects/project/tsconfig.json: +/home/src/projects/project/tsconfig.json: *new* {} FsWatchesRecursive:: -/home/src/projects/project: - {} -/home/src/projects/project/app: - {} -/home/src/projects/project/demos: +/home/src/projects/project/app: *new* {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *changed* - projectStateVersion: 2 - projectProgramVersion: 2 *changed* - dirty: false *changed* -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 2 - projectProgramVersion: 2 *changed* - dirty: false *changed* +/home/src/projects/project/app/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true ScriptInfos:: -/a/lib/lib.d.ts +/a/lib/lib.d.ts *new* version: Text-1 - containingProjects: 3 + containingProjects: 2 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json -/home/src/projects/project/app/Component-demos.ts (Open) *changed* + /dev/null/inferredProject1* +/home/src/projects/project/app/Component-demos.ts (Open) *new* version: SVC-1-0 - containingProjects: 1 *changed* - /home/src/projects/project/tsconfig.json *default* - /home/src/projects/project/demos/tsconfig.json *deleted* -/home/src/projects/project/app/Component.ts + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *new* version: Text-1 - containingProjects: 2 + containingProjects: 1 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/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: - /home/src/projects/project/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/tsconfig.json + undefined Before request Info seq [hh:mm:ss:mss] request: @@ -911,25 +452,39 @@ Info seq [hh:mm:ss:mss] event: "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] Project '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) +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] 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 '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json +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: @@ -950,10 +505,14 @@ PolledWatches:: {"pollingInterval":500} /home/src/projects/node_modules/@types: {"pollingInterval":500} -/home/src/projects/project/app/node_modules/@types: +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: {"pollingInterval":500} -/home/src/projects/project/demos/node_modules/@types: +/home/src/projects/project/app/node_modules/@types: {"pollingInterval":500} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} /home/src/projects/project/node_modules: {"pollingInterval":500} /home/src/projects/project/node_modules/@types: @@ -964,39 +523,34 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: {} -/home/src/projects/project/app/Component.ts: - {} /home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/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/project: +/home/src/projects/random: *new* {} + +FsWatchesRecursive *deleted*:: /home/src/projects/project/app: {} -/home/src/projects/project/demos: - {} -/home/src/projects/random: *new* - {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/home/src/projects/project/app/tsconfig.json (Configured) *deleted* projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) - projectStateVersion: 2 - projectProgramVersion: 2 -/home/src/projects/project/tsconfig.json (Configured) - projectStateVersion: 2 - projectProgramVersion: 2 + isClosed: true *changed* + noOpenRef: true /home/src/projects/random/tsconfig.json (Configured) *new* projectStateVersion: 1 projectProgramVersion: 1 @@ -1004,25 +558,18 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts *changed* version: Text-1 - containingProjects: 4 *changed* - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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 - /home/src/projects/project/tsconfig.json *default* -/home/src/projects/project/app/Component.ts + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *deleted* version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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 @@ -1040,25 +587,17 @@ Info seq [hh:mm:ss:mss] request: "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/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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) +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/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -1074,10 +613,14 @@ PolledWatches:: {"pollingInterval":500} /home/src/projects/node_modules/@types: {"pollingInterval":500} -/home/src/projects/project/app/node_modules/@types: +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: {"pollingInterval":500} -/home/src/projects/project/demos/node_modules/@types: +/home/src/projects/project/app/node_modules/@types: {"pollingInterval":500} +/home/src/projects/project/jsconfig.json: + {"pollingInterval":2000} /home/src/projects/project/node_modules: {"pollingInterval":500} /home/src/projects/project/node_modules/@types: @@ -1088,14 +631,8 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: {} -/home/src/projects/project/app/Component.ts: - {} /home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/tsconfig.json: - {} /home/src/projects/project/tsconfig.json: {} /home/src/projects/random/random.ts: *new* @@ -1104,25 +641,13 @@ FsWatches:: {} FsWatchesRecursive:: -/home/src/projects/project: - {} -/home/src/projects/project/app: - {} -/home/src/projects/project/demos: - {} /home/src/projects/random: {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) - projectStateVersion: 2 - projectProgramVersion: 2 -/home/src/projects/project/tsconfig.json (Configured) - projectStateVersion: 2 - projectProgramVersion: 2 /home/src/projects/random/tsconfig.json (Configured) *changed* projectStateVersion: 1 projectProgramVersion: 1 @@ -1131,25 +656,13 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts version: Text-1 - containingProjects: 4 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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 - /home/src/projects/project/tsconfig.json *default* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* *default* /home/src/projects/random/random.ts *changed* open: false *changed* version: SVC-1-0 @@ -1158,18 +671,10 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project/demos/tsconfig.json 1:: WatchInfo: /home/src/projects/project/demos/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] Scheduled: /home/src/projects/project/demos/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/demos/tsconfig.json 1:: WatchInfo: /home/src/projects/project/demos/tsconfig.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Config file -Before running Timeout callback:: count: 3 -4: /home/src/projects/project/tsconfig.json -5: /home/src/projects/project/demos/tsconfig.json -6: *ensureProjectForOpenFiles* + undefined +Before running Timeout callback:: count: 0 //// [/home/src/projects/project/demos/tsconfig.json] { "compilerOptions": { @@ -1189,262 +694,10 @@ Before running Timeout callback:: count: 3 } -Timeout callback:: count: 3 -4: /home/src/projects/project/tsconfig.json *new* -5: /home/src/projects/project/demos/tsconfig.json *new* -6: *ensureProjectForOpenFiles* *new* - -Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *changed* - projectStateVersion: 3 *changed* - projectProgramVersion: 2 - dirty: true *changed* -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 3 *changed* - projectProgramVersion: 2 - dirty: true *changed* -/home/src/projects/random/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 - noOpenRef: true - -Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/tsconfig.json -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/demos/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/demos/helpers.ts", - "/home/src/projects/project/app/Component-demos.ts" - ], - "options": { - "composite": true, - "rootDir": "/home/src/projects/project", - "outDir": "/home/src/projects/project/demos-dist", - "paths": { - "demos/*": [ - "./*" - ] - }, - "pathsBasePath": "/home/src/projects/project/demos", - "configFilePath": "/home/src/projects/project/demos/tsconfig.json" - } -} -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/demos/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/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: 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:: Close:: 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] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/tsconfig.json projectStateVersion: 3 projectProgramVersion: 2 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 (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; }" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /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] Running: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/demos/tsconfig.json", - "reason": "Change in config file detected" - } - } -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json projectStateVersion: 3 projectProgramVersion: 2 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) - /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/demos/helpers.ts Text-1 "export const foo = 1;\n" - /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' - helpers.ts - Matched by include pattern '**/*' in 'tsconfig.json' - Imported via 'demos/helpers' from file '../app/Component-demos.ts' - ../app/Component-demos.ts - Matched by include pattern '../app/**/*-demos.*' 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/demos/tsconfig.json" - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/home/src/projects/project/demos/tsconfig.json", - "configFile": "/home/src/projects/project/demos/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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -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/project/app/Component-demos.ts ProjectRootPath: undefined -Info seq [hh:mm:ss:mss] Projects: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json -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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -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/project/app/Component-demos.ts ProjectRootPath: undefined -Info seq [hh:mm:ss:mss] Projects: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json -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/@types: - {"pollingInterval":500} -/home/src/projects/project/app/node_modules/@types: - {"pollingInterval":500} -/home/src/projects/project/demos/node_modules/@types: - {"pollingInterval":500} -/home/src/projects/project/node_modules/@types: - {"pollingInterval":500} -/home/src/projects/random/node_modules/@types: - {"pollingInterval":500} - -PolledWatches *deleted*:: -/home/src/projects/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/demos/helpers.ts: - {} -/home/src/projects/project/demos/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: - {} -/home/src/projects/project/app: - {} -/home/src/projects/project/demos: - {} -/home/src/projects/random: - {} - -Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *changed* - projectStateVersion: 3 - projectProgramVersion: 3 *changed* - dirty: false *changed* -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 3 - projectProgramVersion: 3 *changed* - dirty: false *changed* -/home/src/projects/random/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 - noOpenRef: true - -ScriptInfos:: -/a/lib/lib.d.ts - version: Text-1 - containingProjects: 4 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json - /home/src/projects/random/tsconfig.json -/home/src/projects/project/app/Component-demos.ts (Open) *changed* - version: SVC-1-0 - containingProjects: 2 *changed* - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* *new* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/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: - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/demos/tsconfig.json \ No newline at end of file + 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 index bbbba535a7094..2464823021e00 100644 --- 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 @@ -203,271 +203,46 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: 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/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/app/Component-demos.ts", - "/home/src/projects/project/app/Component.ts", - "/home/src/projects/project/demos/helpers.ts" - ], - "options": { - "outDir": "/home/src/projects/project/dist", - "configFilePath": "/home/src/projects/project/tsconfig.json" - }, - "projectReferences": [ - { - "path": "/home/src/projects/project/demos/tsconfig.json", - "originalPath": "./demos/tsconfig.json" - }, - { - "path": "/home/src/projects/project/app/tsconfig.json", - "originalPath": "./app/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/demos/helpers.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] Config: /home/src/projects/project/demos/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/demos/helpers.ts", - "/home/src/projects/project/app/Component-demos.ts" - ], - "options": { - "composite": true, - "rootDir": "/home/src/projects/project", - "outDir": "/home/src/projects/project/demos-dist", - "paths": { - "demos/*": [ - "./*" - ] - }, - "pathsBasePath": "/home/src/projects/project/demos", - "configFilePath": "/home/src/projects/project/demos/tsconfig.json" - } -} -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/tsconfig.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/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/demos/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/demos/tsconfig.json WatchType: Wild card directory -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 (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; }" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" - - - ../../../../a/lib/lib.d.ts - Default library for target 'es5' - demos/helpers.ts - Imported via 'demos/helpers' from file 'app/Component-demos.ts' - Matched by default include pattern '**/*' - app/Component-demos.ts - Matched by default include pattern '**/*' - app/Component.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": 3, - "tsSize": 141, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "outDir": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/demos/tsconfig.json", - "reason": "Creating project referenced in solution /home/src/projects/project/tsconfig.json to find possible configured project for /home/src/projects/project/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/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/demos/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/demos/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/demos/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/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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] 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/demos/helpers.ts Text-1 "export const foo = 1;\n" /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' - helpers.ts - Matched by include pattern '**/*' in 'tsconfig.json' - Imported via 'demos/helpers' from file '../app/Component-demos.ts' - ../app/Component-demos.ts - Matched by include pattern '../app/**/*-demos.*' in 'tsconfig.json' + Component-demos.ts + Root file specified for compilation 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/demos/tsconfig.json" - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "telemetry", - "body": { - "telemetryEventName": "projectInfo", - "payload": { - "projectId": "528692a1575f61fd3bf7069493cc100a7cad975f6cd24c47b7a63b99928a8171", - "fileStats": { - "js": 0, - "jsSize": 0, - "jsx": 0, - "jsxSize": 0, - "ts": 2, - "tsSize": 107, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "composite": true, - "rootDir": "", - "outDir": "", - "paths": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/demos/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/demos/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json 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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -482,11 +257,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} /home/src/projects/node_modules/@types: *new* {"pollingInterval":500} +/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/demos/node_modules/@types: *new* +/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} @@ -498,64 +281,38 @@ FsWatches:: {} /home/src/projects/project/app/tsconfig.json: *new* {} -/home/src/projects/project/demos/helpers.ts: *new* - {} -/home/src/projects/project/demos/tsconfig.json: *new* - {} /home/src/projects/project/tsconfig.json: *new* {} FsWatchesRecursive:: -/home/src/projects/project: *new* - {} /home/src/projects/project/app: *new* {} -/home/src/projects/project/demos: *new* - {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *new* - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *new* +/dev/null/inferredProject1* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *new* +/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: 3 + containingProjects: 2 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* /home/src/projects/project/app/Component-demos.ts (Open) *new* version: SVC-1-0 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* + containingProjects: 1 + /dev/null/inferredProject1* *default* /home/src/projects/project/app/Component.ts *new* version: Text-1 - containingProjects: 2 + containingProjects: 1 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts *new* - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project/demos/tsconfig.json 1:: WatchInfo: /home/src/projects/project/demos/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] Scheduled: /home/src/projects/project/demos/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/demos/tsconfig.json 1:: WatchInfo: /home/src/projects/project/demos/tsconfig.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Config file -Before running Timeout callback:: count: 3 -1: /home/src/projects/project/tsconfig.json -2: /home/src/projects/project/demos/tsconfig.json -3: *ensureProjectForOpenFiles* +Before running Timeout callback:: count: 0 //// [/home/src/projects/project/demos/tsconfig.json] { "compilerOptions": { @@ -575,238 +332,14 @@ Before running Timeout callback:: count: 3 } -Timeout callback:: count: 3 -1: /home/src/projects/project/tsconfig.json *new* -2: /home/src/projects/project/demos/tsconfig.json *new* -3: *ensureProjectForOpenFiles* *new* - -Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *changed* - projectStateVersion: 2 *changed* - projectProgramVersion: 1 - dirty: true *changed* -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 2 *changed* - projectProgramVersion: 1 - dirty: true *changed* - -Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/tsconfig.json -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/demos/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/demos/helpers.ts" - ], - "options": { - "composite": true, - "rootDir": "/home/src/projects/project", - "outDir": "/home/src/projects/project/demos-dist", - "paths": { - "demos/*": [ - "./*" - ] - }, - "pathsBasePath": "/home/src/projects/project/demos", - "configFilePath": "/home/src/projects/project/demos/tsconfig.json" - } -} -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/demos/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/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 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/app 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 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] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/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/node_modules 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 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 (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; }" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/demos/tsconfig.json", - "reason": "Change in config file detected" - } - } -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/demos/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/demos/helpers.ts Text-1 "export const foo = 1;\n" - - - ../../../../../a/lib/lib.d.ts - Default library for target 'es5' - helpers.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/demos/tsconfig.json" - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/home/src/projects/project/demos/tsconfig.json", - "configFile": "/home/src/projects/project/demos/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 '/home/src/projects/project/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/projects/project/demos/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/project/app/Component-demos.ts ProjectRootPath: undefined -Info seq [hh:mm:ss:mss] Projects: /home/src/projects/project/tsconfig.json -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 '/home/src/projects/project/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/projects/project/demos/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/project/app/Component-demos.ts ProjectRootPath: undefined -Info seq [hh:mm:ss:mss] Projects: /home/src/projects/project/tsconfig.json -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: *new* - {"pollingInterval":500} -/home/src/projects/node_modules/@types: - {"pollingInterval":500} -/home/src/projects/project/app/node_modules/@types: - {"pollingInterval":500} -/home/src/projects/project/demos/node_modules/@types: - {"pollingInterval":500} -/home/src/projects/project/node_modules: *new* - {"pollingInterval":500} -/home/src/projects/project/node_modules/@types: - {"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/demos/helpers.ts: - {} -/home/src/projects/project/demos/tsconfig.json: - {} -/home/src/projects/project/tsconfig.json: - {} - -FsWatchesRecursive:: -/home/src/projects/project: - {} -/home/src/projects/project/app: - {} -/home/src/projects/project/demos: - {} - -Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *changed* - projectStateVersion: 2 - projectProgramVersion: 2 *changed* - dirty: false *changed* -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 2 - projectProgramVersion: 2 *changed* - dirty: false *changed* - -ScriptInfos:: -/a/lib/lib.d.ts - version: Text-1 - containingProjects: 3 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json -/home/src/projects/project/app/Component-demos.ts (Open) *changed* - version: SVC-1-0 - containingProjects: 1 *changed* - /home/src/projects/project/tsconfig.json *default* - /home/src/projects/project/demos/tsconfig.json *deleted* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json - Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /home/src/projects/project/demos/tsconfig.json 1:: WatchInfo: /home/src/projects/project/demos/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] Scheduled: /home/src/projects/project/demos/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/demos/tsconfig.json 1:: WatchInfo: /home/src/projects/project/demos/tsconfig.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Config file -Before running Timeout callback:: count: 3 -4: /home/src/projects/project/tsconfig.json -5: /home/src/projects/project/demos/tsconfig.json -6: *ensureProjectForOpenFiles* + undefined +Before running Timeout callback:: count: 0 //// [/home/src/projects/project/demos/tsconfig.json] { "compilerOptions": { @@ -826,236 +359,13 @@ Before running Timeout callback:: count: 3 } -Timeout callback:: count: 3 -4: /home/src/projects/project/tsconfig.json *new* -5: /home/src/projects/project/demos/tsconfig.json *new* -6: *ensureProjectForOpenFiles* *new* - -Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *changed* - projectStateVersion: 3 *changed* - projectProgramVersion: 2 - dirty: true *changed* -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 3 *changed* - projectProgramVersion: 2 - dirty: true *changed* - -Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/tsconfig.json -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/demos/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/demos/helpers.ts", - "/home/src/projects/project/app/Component-demos.ts" - ], - "options": { - "composite": true, - "rootDir": "/home/src/projects/project", - "outDir": "/home/src/projects/project/demos-dist", - "paths": { - "demos/*": [ - "./*" - ] - }, - "pathsBasePath": "/home/src/projects/project/demos", - "configFilePath": "/home/src/projects/project/demos/tsconfig.json" - } -} -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/demos/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/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: 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:: Close:: 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] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/tsconfig.json projectStateVersion: 3 projectProgramVersion: 2 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 (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; }" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /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] Running: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/demos/tsconfig.json", - "reason": "Change in config file detected" - } - } -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json projectStateVersion: 3 projectProgramVersion: 2 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) - /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/demos/helpers.ts Text-1 "export const foo = 1;\n" - /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' - helpers.ts - Matched by include pattern '**/*' in 'tsconfig.json' - Imported via 'demos/helpers' from file '../app/Component-demos.ts' - ../app/Component-demos.ts - Matched by include pattern '../app/**/*-demos.*' 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/demos/tsconfig.json" - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/home/src/projects/project/demos/tsconfig.json", - "configFile": "/home/src/projects/project/demos/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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) - -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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json -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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) - -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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json -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/@types: - {"pollingInterval":500} -/home/src/projects/project/app/node_modules/@types: - {"pollingInterval":500} -/home/src/projects/project/demos/node_modules/@types: - {"pollingInterval":500} -/home/src/projects/project/node_modules/@types: - {"pollingInterval":500} - -PolledWatches *deleted*:: -/home/src/projects/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/demos/helpers.ts: - {} -/home/src/projects/project/demos/tsconfig.json: - {} -/home/src/projects/project/tsconfig.json: - {} - -FsWatchesRecursive:: -/home/src/projects/project: - {} -/home/src/projects/project/app: - {} -/home/src/projects/project/demos: - {} - -Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *changed* - projectStateVersion: 3 - projectProgramVersion: 3 *changed* - dirty: false *changed* -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 3 - projectProgramVersion: 3 *changed* - dirty: false *changed* - -ScriptInfos:: -/a/lib/lib.d.ts - version: Text-1 - containingProjects: 3 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json -/home/src/projects/project/app/Component-demos.ts (Open) *changed* - version: SVC-1-0 - containingProjects: 2 *changed* - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* *new* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json - Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/demos/tsconfig.json + undefined Before request Info seq [hh:mm:ss:mss] request: @@ -1169,25 +479,39 @@ Info seq [hh:mm:ss:mss] event: "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] Project '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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] 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 '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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: @@ -1204,11 +528,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} /home/src/projects/node_modules/@types: {"pollingInterval":500} +/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/demos/node_modules/@types: +/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} @@ -1218,39 +550,34 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: {} -/home/src/projects/project/app/Component.ts: - {} /home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/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/project: +/home/src/projects/random: *new* {} + +FsWatchesRecursive *deleted*:: /home/src/projects/project/app: {} -/home/src/projects/project/demos: - {} -/home/src/projects/random: *new* - {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) - projectStateVersion: 3 - projectProgramVersion: 3 -/home/src/projects/project/tsconfig.json (Configured) - projectStateVersion: 3 - projectProgramVersion: 3 +/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 @@ -1258,26 +585,18 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts *changed* version: Text-1 - containingProjects: 4 *changed* - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *deleted* version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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 @@ -1295,25 +614,17 @@ Info seq [hh:mm:ss:mss] request: "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/project/app/tsconfig.json' (Configured) +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/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -1325,11 +636,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} /home/src/projects/node_modules/@types: {"pollingInterval":500} +/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/demos/node_modules/@types: +/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} @@ -1339,14 +658,8 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: {} -/home/src/projects/project/app/Component.ts: - {} /home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/tsconfig.json: - {} /home/src/projects/project/tsconfig.json: {} /home/src/projects/random/random.ts: *new* @@ -1355,25 +668,13 @@ FsWatches:: {} FsWatchesRecursive:: -/home/src/projects/project: - {} -/home/src/projects/project/app: - {} -/home/src/projects/project/demos: - {} /home/src/projects/random: {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) - projectStateVersion: 3 - projectProgramVersion: 3 -/home/src/projects/project/tsconfig.json (Configured) - projectStateVersion: 3 - projectProgramVersion: 3 /home/src/projects/random/tsconfig.json (Configured) *changed* projectStateVersion: 1 projectProgramVersion: 1 @@ -1382,26 +683,13 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts version: Text-1 - containingProjects: 4 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + containingProjects: 1 + /dev/null/inferredProject1* *default* /home/src/projects/random/random.ts *changed* open: false *changed* version: SVC-1-0 @@ -1410,6 +698,6 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/demos/tsconfig.json \ No newline at end of file + 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 index bf0cfb6e2f5dc..40c2fd300a86f 100644 --- 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 @@ -203,271 +203,46 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: 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/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/app/Component-demos.ts", - "/home/src/projects/project/app/Component.ts", - "/home/src/projects/project/demos/helpers.ts" - ], - "options": { - "outDir": "/home/src/projects/project/dist", - "configFilePath": "/home/src/projects/project/tsconfig.json" - }, - "projectReferences": [ - { - "path": "/home/src/projects/project/demos/tsconfig.json", - "originalPath": "./demos/tsconfig.json" - }, - { - "path": "/home/src/projects/project/app/tsconfig.json", - "originalPath": "./app/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/demos/helpers.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] Config: /home/src/projects/project/demos/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/demos/helpers.ts", - "/home/src/projects/project/app/Component-demos.ts" - ], - "options": { - "composite": true, - "rootDir": "/home/src/projects/project", - "outDir": "/home/src/projects/project/demos-dist", - "paths": { - "demos/*": [ - "./*" - ] - }, - "pathsBasePath": "/home/src/projects/project/demos", - "configFilePath": "/home/src/projects/project/demos/tsconfig.json" - } -} -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/tsconfig.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/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/demos/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/demos/tsconfig.json WatchType: Wild card directory -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 (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; }" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" - - - ../../../../a/lib/lib.d.ts - Default library for target 'es5' - demos/helpers.ts - Imported via 'demos/helpers' from file 'app/Component-demos.ts' - Matched by default include pattern '**/*' - app/Component-demos.ts - Matched by default include pattern '**/*' - app/Component.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": 3, - "tsSize": 141, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "outDir": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/demos/tsconfig.json", - "reason": "Creating project referenced in solution /home/src/projects/project/tsconfig.json to find possible configured project for /home/src/projects/project/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/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/demos/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/demos/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/demos/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/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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] 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/demos/helpers.ts Text-1 "export const foo = 1;\n" /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' - helpers.ts - Matched by include pattern '**/*' in 'tsconfig.json' - Imported via 'demos/helpers' from file '../app/Component-demos.ts' - ../app/Component-demos.ts - Matched by include pattern '../app/**/*-demos.*' in 'tsconfig.json' + Component-demos.ts + Root file specified for compilation 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/demos/tsconfig.json" - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "telemetry", - "body": { - "telemetryEventName": "projectInfo", - "payload": { - "projectId": "528692a1575f61fd3bf7069493cc100a7cad975f6cd24c47b7a63b99928a8171", - "fileStats": { - "js": 0, - "jsSize": 0, - "jsx": 0, - "jsxSize": 0, - "ts": 2, - "tsSize": 107, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "composite": true, - "rootDir": "", - "outDir": "", - "paths": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/demos/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/demos/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json 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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -482,11 +257,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} /home/src/projects/node_modules/@types: *new* {"pollingInterval":500} +/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/demos/node_modules/@types: *new* +/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} @@ -498,54 +281,36 @@ FsWatches:: {} /home/src/projects/project/app/tsconfig.json: *new* {} -/home/src/projects/project/demos/helpers.ts: *new* - {} -/home/src/projects/project/demos/tsconfig.json: *new* - {} /home/src/projects/project/tsconfig.json: *new* {} FsWatchesRecursive:: -/home/src/projects/project: *new* - {} /home/src/projects/project/app: *new* {} -/home/src/projects/project/demos: *new* - {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *new* +/dev/null/inferredProject1* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *new* - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *new* +/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: 3 + containingProjects: 2 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* /home/src/projects/project/app/Component-demos.ts (Open) *new* version: SVC-1-0 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* + containingProjects: 1 + /dev/null/inferredProject1* *default* /home/src/projects/project/app/Component.ts *new* version: Text-1 - containingProjects: 2 + containingProjects: 1 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts *new* - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json Before request @@ -594,7 +359,21 @@ Info seq [hh:mm:ss:mss] event: "event": "semanticDiag", "body": { "file": "/home/src/projects/project/app/Component-demos.ts", - "diagnostics": [] + "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 @@ -638,9 +417,9 @@ After running Immedidate callback:: count: 0 Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/demos/tsconfig.json + undefined Before request Info seq [hh:mm:ss:mss] request: @@ -754,25 +533,39 @@ Info seq [hh:mm:ss:mss] event: "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] Project '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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] 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 '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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: @@ -789,11 +582,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} /home/src/projects/node_modules/@types: {"pollingInterval":500} +/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/demos/node_modules/@types: +/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} @@ -803,39 +604,34 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: {} -/home/src/projects/project/app/Component.ts: - {} /home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/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/project: +/home/src/projects/random: *new* {} + +FsWatchesRecursive *deleted*:: /home/src/projects/project/app: {} -/home/src/projects/project/demos: - {} -/home/src/projects/random: *new* - {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) +/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 @@ -843,26 +639,18 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts *changed* version: Text-1 - containingProjects: 4 *changed* - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *deleted* version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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 @@ -880,25 +668,17 @@ Info seq [hh:mm:ss:mss] request: "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/project/app/tsconfig.json' (Configured) +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/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -910,11 +690,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} /home/src/projects/node_modules/@types: {"pollingInterval":500} +/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/demos/node_modules/@types: +/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} @@ -924,14 +712,8 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: {} -/home/src/projects/project/app/Component.ts: - {} /home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/tsconfig.json: - {} /home/src/projects/project/tsconfig.json: {} /home/src/projects/random/random.ts: *new* @@ -940,23 +722,11 @@ FsWatches:: {} FsWatchesRecursive:: -/home/src/projects/project: - {} -/home/src/projects/project/app: - {} -/home/src/projects/project/demos: - {} /home/src/projects/random: {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 /home/src/projects/random/tsconfig.json (Configured) *changed* @@ -967,26 +737,13 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts version: Text-1 - containingProjects: 4 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + containingProjects: 1 + /dev/null/inferredProject1* *default* /home/src/projects/random/random.ts *changed* open: false *changed* version: SVC-1-0 @@ -995,9 +752,9 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/demos/tsconfig.json + undefined Before request Info seq [hh:mm:ss:mss] request: @@ -1009,20 +766,16 @@ Info seq [hh:mm:ss:mss] request: "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/project/app/tsconfig.json' (Configured) +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/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +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] ----------------------------------------------- @@ -1038,60 +791,53 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} /home/src/projects/node_modules/@types: {"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/demos/node_modules/@types: +/home/src/projects/project/node_modules: {"pollingInterval":500} /home/src/projects/project/node_modules/@types: {"pollingInterval":500} /home/src/projects/random/node_modules/@types: {"pollingInterval":500} +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/project/app/Component.ts: - {} -/home/src/projects/project/app/tsconfig.json: - {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/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: - {} -/home/src/projects/project/app: +FsWatches *deleted*:: +/home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos: +/home/src/projects/project/tsconfig.json: {} + +FsWatchesRecursive:: /home/src/projects/random: {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *changed* - projectStateVersion: 1 - projectProgramVersion: 1 - noOpenRef: true *changed* -/home/src/projects/project/demos/tsconfig.json (Configured) *changed* - projectStateVersion: 1 - projectProgramVersion: 1 - noOpenRef: true *changed* -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 1 +/dev/null/inferredProject1* (Inferred) *changed* + projectStateVersion: 2 *changed* projectProgramVersion: 1 - noOpenRef: true *changed* + dirty: true *changed* + isOrphan: true *changed* /home/src/projects/random/tsconfig.json (Configured) projectStateVersion: 1 projectProgramVersion: 1 @@ -1100,27 +846,14 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts version: Text-1 - containingProjects: 4 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + containingProjects: 0 *changed* + /dev/null/inferredProject1* *deleted* /home/src/projects/random/random.ts version: SVC-1-0 containingProjects: 1 @@ -1128,7 +861,7 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/demos/tsconfig.json + undefined findDefaultConfiguredProject: undefined Before request @@ -1145,85 +878,31 @@ Info seq [hh:mm:ss:mss] 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 '/home/src/projects/project/app/tsconfig.json' (Configured) +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.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/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] `remove Project:: -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (4) - /a/lib/lib.d.ts - /home/src/projects/project/demos/helpers.ts - /home/src/projects/project/app/Component-demos.ts - /home/src/projects/project/app/Component.ts - - - ../../../../a/lib/lib.d.ts - Default library for target 'es5' - demos/helpers.ts - Imported via 'demos/helpers' from file 'app/Component-demos.ts' - Matched by default include pattern '**/*' - app/Component-demos.ts - Matched by default include pattern '**/*' - app/Component.ts - Matched by default include pattern '**/*' - -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/tsconfig.json 2000 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Config file -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: 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:: Close:: 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:: Close:: 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:: Close:: 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:: Close:: 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:: Close:: 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:: Close:: 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] `remove Project:: -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) - /a/lib/lib.d.ts - /home/src/projects/project/demos/helpers.ts /home/src/projects/project/app/Component-demos.ts ../../../../../a/lib/lib.d.ts Default library for target 'es5' - helpers.ts - Matched by include pattern '**/*' in 'tsconfig.json' - Imported via 'demos/helpers' from file '../app/Component-demos.ts' - ../app/Component-demos.ts - Matched by include pattern '../app/**/*-demos.*' in 'tsconfig.json' + 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/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/demos/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/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/demos/tsconfig.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Config file -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/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/demos/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/demos/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/demos/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/demos/tsconfig.json WatchType: Type roots +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] 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] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/app/Component.ts 500 undefined WatchType: Closed Script info -Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/demos/helpers.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) @@ -1248,9 +927,13 @@ PolledWatches:: {"pollingInterval":500} 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/demos/node_modules/@types: +/home/src/projects/project/node_modules: {"pollingInterval":500} /home/src/projects/project/node_modules/@types: {"pollingInterval":500} @@ -1264,16 +947,6 @@ FsWatches:: FsWatches *deleted*:: /home/src/projects/project/app/Component-demos.ts: {} -/home/src/projects/project/app/Component.ts: - {} -/home/src/projects/project/app/tsconfig.json: - {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/tsconfig.json: - {} -/home/src/projects/project/tsconfig.json: - {} /home/src/projects/random/random.ts: {} @@ -1281,30 +954,13 @@ FsWatchesRecursive:: /home/src/projects/random: {} -FsWatchesRecursive *deleted*:: -/home/src/projects/project: - {} -/home/src/projects/project/app: - {} -/home/src/projects/project/demos: - {} - Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *deleted* - projectStateVersion: 1 - projectProgramVersion: 1 - isClosed: true *changed* - noOpenRef: true -/home/src/projects/project/demos/tsconfig.json (Configured) *deleted* - projectStateVersion: 1 - projectProgramVersion: 1 - isClosed: true *changed* - noOpenRef: true -/home/src/projects/project/tsconfig.json (Configured) *deleted* - projectStateVersion: 1 +/dev/null/inferredProject1* (Inferred) *deleted* + projectStateVersion: 2 projectProgramVersion: 1 + dirty: true isClosed: true *changed* - noOpenRef: true + isOrphan: true /home/src/projects/random/tsconfig.json (Configured) *changed* projectStateVersion: 1 projectProgramVersion: 1 @@ -1315,24 +971,10 @@ ScriptInfos:: version: Text-1 containingProjects: 1 *changed* /home/src/projects/random/tsconfig.json - /home/src/projects/project/app/tsconfig.json *deleted* - /home/src/projects/project/tsconfig.json *deleted* - /home/src/projects/project/demos/tsconfig.json *deleted* + /dev/null/inferredProject1* *deleted* /home/src/projects/project/app/Component-demos.ts *deleted* version: SVC-1-0 - containingProjects: 0 *changed* - /home/src/projects/project/tsconfig.json *deleted* - /home/src/projects/project/demos/tsconfig.json *deleted* -/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/project/tsconfig.json *deleted* -/home/src/projects/project/demos/helpers.ts *deleted* - version: Text-1 - containingProjects: 0 *changed* - /home/src/projects/project/tsconfig.json *deleted* - /home/src/projects/project/demos/tsconfig.json *deleted* + containingProjects: 0 /home/src/projects/random/random.ts (Open) *changed* open: true *changed* version: SVC-1-0 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 index 0e721adae3175..8b2c0b432267f 100644 --- 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 @@ -203,271 +203,46 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: 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/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/app/Component-demos.ts", - "/home/src/projects/project/app/Component.ts", - "/home/src/projects/project/demos/helpers.ts" - ], - "options": { - "outDir": "/home/src/projects/project/dist", - "configFilePath": "/home/src/projects/project/tsconfig.json" - }, - "projectReferences": [ - { - "path": "/home/src/projects/project/demos/tsconfig.json", - "originalPath": "./demos/tsconfig.json" - }, - { - "path": "/home/src/projects/project/app/tsconfig.json", - "originalPath": "./app/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/demos/helpers.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] Config: /home/src/projects/project/demos/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/demos/helpers.ts", - "/home/src/projects/project/app/Component-demos.ts" - ], - "options": { - "composite": true, - "rootDir": "/home/src/projects/project", - "outDir": "/home/src/projects/project/demos-dist", - "paths": { - "demos/*": [ - "./*" - ] - }, - "pathsBasePath": "/home/src/projects/project/demos", - "configFilePath": "/home/src/projects/project/demos/tsconfig.json" - } -} -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/tsconfig.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/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/demos/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/demos/tsconfig.json WatchType: Wild card directory -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 (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; }" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" - - - ../../../../a/lib/lib.d.ts - Default library for target 'es5' - demos/helpers.ts - Imported via 'demos/helpers' from file 'app/Component-demos.ts' - Matched by default include pattern '**/*' - app/Component-demos.ts - Matched by default include pattern '**/*' - app/Component.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": 3, - "tsSize": 141, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "outDir": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/demos/tsconfig.json", - "reason": "Creating project referenced in solution /home/src/projects/project/tsconfig.json to find possible configured project for /home/src/projects/project/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/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/demos/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/demos/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/demos/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/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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] 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/demos/helpers.ts Text-1 "export const foo = 1;\n" /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' - helpers.ts - Matched by include pattern '**/*' in 'tsconfig.json' - Imported via 'demos/helpers' from file '../app/Component-demos.ts' - ../app/Component-demos.ts - Matched by include pattern '../app/**/*-demos.*' in 'tsconfig.json' + Component-demos.ts + Root file specified for compilation 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/demos/tsconfig.json" - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "telemetry", - "body": { - "telemetryEventName": "projectInfo", - "payload": { - "projectId": "528692a1575f61fd3bf7069493cc100a7cad975f6cd24c47b7a63b99928a8171", - "fileStats": { - "js": 0, - "jsSize": 0, - "jsx": 0, - "jsxSize": 0, - "ts": 2, - "tsSize": 107, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "composite": true, - "rootDir": "", - "outDir": "", - "paths": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/demos/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/demos/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json 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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -482,11 +257,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} /home/src/projects/node_modules/@types: *new* {"pollingInterval":500} +/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/demos/node_modules/@types: *new* +/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} @@ -498,54 +281,36 @@ FsWatches:: {} /home/src/projects/project/app/tsconfig.json: *new* {} -/home/src/projects/project/demos/helpers.ts: *new* - {} -/home/src/projects/project/demos/tsconfig.json: *new* - {} /home/src/projects/project/tsconfig.json: *new* {} FsWatchesRecursive:: -/home/src/projects/project: *new* - {} /home/src/projects/project/app: *new* {} -/home/src/projects/project/demos: *new* - {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *new* +/dev/null/inferredProject1* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *new* - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *new* +/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: 3 + containingProjects: 2 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* /home/src/projects/project/app/Component-demos.ts (Open) *new* version: SVC-1-0 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* + containingProjects: 1 + /dev/null/inferredProject1* *default* /home/src/projects/project/app/Component.ts *new* version: Text-1 - containingProjects: 2 + containingProjects: 1 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts *new* - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json Before request @@ -557,14 +322,9 @@ Info seq [hh:mm:ss:mss] 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: /home/src/projects/project/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: /home/src/projects/project/tsconfig.json, Cancelled earlier one -Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one -Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project/tsconfig.json, Cancelled earlier one -Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project/demos/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] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app/node_modules/@types 1 undefined Project: /home/src/projects/project/app/tsconfig.json WatchType: Type roots @@ -633,214 +393,80 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: 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:: Close:: 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:: Close:: 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:: Close:: 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] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/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/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/app/Component-demos.ts", - "/home/src/projects/project/app/Component.ts", - "/home/src/projects/project/demos/helpers.ts" - ], - "options": { - "outDir": "/home/src/projects/project/dist", - "configFilePath": "/home/src/projects/project/tsconfig.json" - }, - "projectReferences": [ - { - "path": "/home/src/projects/project/demos/tsconfig.json", - "originalPath": "./demos/tsconfig.json" - }, - { - "path": "/home/src/projects/project/app/tsconfig.json", - "originalPath": "./app/tsconfig.json" - } - ] -} -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/demos/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/demos/helpers.ts", - "/home/src/projects/project/app/Component-demos.ts" - ], - "options": { - "composite": true, - "rootDir": "/home/src/projects/project", - "outDir": "/home/src/projects/project/demos-dist", - "paths": { - "demos/*": [ - "./*" - ] - }, - "pathsBasePath": "/home/src/projects/project/demos", - "configFilePath": "/home/src/projects/project/demos/tsconfig.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.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: 2 projectProgramVersion: 1 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 (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; }" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" - - - ../../../../a/lib/lib.d.ts - Default library for target 'es5' - demos/helpers.ts - Imported via 'demos/helpers' from file 'app/Component-demos.ts' - Matched by default include pattern '**/*' - app/Component-demos.ts - Matched by default include pattern '**/*' - app/Component.ts - Matched by default include pattern '**/*' +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] 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] 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": "configFileDiag", - "body": { - "triggerFile": "/home/src/projects/project/tsconfig.json", - "configFile": "/home/src/projects/project/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/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/demos/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/demos/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/demos/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/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/demos/tsconfig.json", - "reason": "User requested reload projects: Creating project referenced in solution /home/src/projects/project/tsconfig.json to find possible configured project for /home/src/projects/project/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/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/demos/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/demos/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/demos/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/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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] 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/demos/helpers.ts Text-1 "export const foo = 1;\n" /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' - helpers.ts - Matched by include pattern '**/*' in 'tsconfig.json' - Imported via 'demos/helpers' from file '../app/Component-demos.ts' - ../app/Component-demos.ts - Matched by include pattern '../app/**/*-demos.*' 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/demos/tsconfig.json" - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/home/src/projects/project/demos/tsconfig.json", - "configFile": "/home/src/projects/project/demos/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/demos/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json -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) + 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/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) - -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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json 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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -855,19 +481,29 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} *new* /home/src/projects/node_modules/@types: {"pollingInterval":500} -/home/src/projects/project/app/node_modules/@types: +/home/src/projects/project/app/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/app/node_modules: {"pollingInterval":500} *new* -/home/src/projects/project/demos/node_modules/@types: +/home/src/projects/project/app/node_modules/@types: + {"pollingInterval":500} +/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} PolledWatches *deleted*:: -/home/src/projects/project/app/node_modules/@types: +/home/src/projects/node_modules: + {"pollingInterval":500} +/home/src/projects/project/app/node_modules: {"pollingInterval":500} -/home/src/projects/project/demos/node_modules/@types: +/home/src/projects/project/node_modules: {"pollingInterval":500} FsWatches:: @@ -877,30 +513,20 @@ FsWatches:: {} /home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/tsconfig.json: - {} /home/src/projects/project/tsconfig.json: {} FsWatchesRecursive:: -/home/src/projects/project: - {} /home/src/projects/project/app: {} -/home/src/projects/project/demos: - {} Timeout callback:: count: 0 Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *changed* - projectStateVersion: 2 *changed* - projectProgramVersion: 2 *changed* -/home/src/projects/project/demos/tsconfig.json (Configured) *changed* +/dev/null/inferredProject1* (Inferred) *changed* projectStateVersion: 2 *changed* projectProgramVersion: 2 *changed* -/home/src/projects/project/tsconfig.json (Configured) *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 index 7066ec1f34b59..04e56877e0ad8 100644 --- 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 @@ -203,271 +203,46 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: 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/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/app/Component-demos.ts", - "/home/src/projects/project/app/Component.ts", - "/home/src/projects/project/demos/helpers.ts" - ], - "options": { - "outDir": "/home/src/projects/project/dist", - "configFilePath": "/home/src/projects/project/tsconfig.json" - }, - "projectReferences": [ - { - "path": "/home/src/projects/project/demos/tsconfig.json", - "originalPath": "./demos/tsconfig.json" - }, - { - "path": "/home/src/projects/project/app/tsconfig.json", - "originalPath": "./app/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/demos/helpers.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] Config: /home/src/projects/project/demos/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/demos/helpers.ts", - "/home/src/projects/project/app/Component-demos.ts" - ], - "options": { - "composite": true, - "rootDir": "/home/src/projects/project", - "outDir": "/home/src/projects/project/demos-dist", - "paths": { - "demos/*": [ - "./*" - ] - }, - "pathsBasePath": "/home/src/projects/project/demos", - "configFilePath": "/home/src/projects/project/demos/tsconfig.json" - } -} -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/tsconfig.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/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/demos/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/demos/tsconfig.json WatchType: Wild card directory -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 (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; }" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" - - - ../../../../a/lib/lib.d.ts - Default library for target 'es5' - demos/helpers.ts - Imported via 'demos/helpers' from file 'app/Component-demos.ts' - Matched by default include pattern '**/*' - app/Component-demos.ts - Matched by default include pattern '**/*' - app/Component.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": 3, - "tsSize": 141, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "outDir": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/demos/tsconfig.json", - "reason": "Creating project referenced in solution /home/src/projects/project/tsconfig.json to find possible configured project for /home/src/projects/project/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/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/demos/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/demos/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/demos/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/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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] 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/demos/helpers.ts Text-1 "export const foo = 1;\n" /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' - helpers.ts - Matched by include pattern '**/*' in 'tsconfig.json' - Imported via 'demos/helpers' from file '../app/Component-demos.ts' - ../app/Component-demos.ts - Matched by include pattern '../app/**/*-demos.*' in 'tsconfig.json' + Component-demos.ts + Root file specified for compilation 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/demos/tsconfig.json" - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "telemetry", - "body": { - "telemetryEventName": "projectInfo", - "payload": { - "projectId": "528692a1575f61fd3bf7069493cc100a7cad975f6cd24c47b7a63b99928a8171", - "fileStats": { - "js": 0, - "jsSize": 0, - "jsx": 0, - "jsxSize": 0, - "ts": 2, - "tsSize": 107, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "composite": true, - "rootDir": "", - "outDir": "", - "paths": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/demos/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/demos/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json 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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -482,11 +257,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} /home/src/projects/node_modules/@types: *new* {"pollingInterval":500} +/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/demos/node_modules/@types: *new* +/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} @@ -498,62 +281,41 @@ FsWatches:: {} /home/src/projects/project/app/tsconfig.json: *new* {} -/home/src/projects/project/demos/helpers.ts: *new* - {} -/home/src/projects/project/demos/tsconfig.json: *new* - {} /home/src/projects/project/tsconfig.json: *new* {} FsWatchesRecursive:: -/home/src/projects/project: *new* - {} /home/src/projects/project/app: *new* {} -/home/src/projects/project/demos: *new* - {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *new* - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *new* +/dev/null/inferredProject1* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *new* +/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: 3 + containingProjects: 2 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* /home/src/projects/project/app/Component-demos.ts (Open) *new* version: SVC-1-0 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* + containingProjects: 1 + /dev/null/inferredProject1* *default* /home/src/projects/project/app/Component.ts *new* version: Text-1 - containingProjects: 2 + containingProjects: 1 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts *new* - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/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 Project: /home/src/projects/project/tsconfig.json WatchType: Config file +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 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 +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 @@ -561,53 +323,32 @@ Before running Timeout callback:: count: 1 Timeout callback:: count: 1 1: *ensureProjectForOpenFiles* *new* -Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 1 - projectProgramVersion: 1 - isOrphan: true *changed* - deferredClose: true *changed* - +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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: Result: 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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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: { @@ -624,7 +365,7 @@ After running Timeout callback:: count: 0 Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: undefined Before request @@ -740,25 +481,39 @@ Info seq [hh:mm:ss:mss] event: "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] Project '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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] 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 '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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: @@ -775,11 +530,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} /home/src/projects/node_modules/@types: {"pollingInterval":500} +/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/demos/node_modules/@types: +/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} @@ -789,41 +552,34 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: {} -/home/src/projects/project/app/Component.ts: - {} /home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/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/project: +/home/src/projects/random: *new* {} + +FsWatchesRecursive *deleted*:: /home/src/projects/project/app: {} -/home/src/projects/project/demos: - {} -/home/src/projects/random: *new* - {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) +/home/src/projects/project/app/tsconfig.json (Configured) *deleted* projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 - isOrphan: true - deferredClose: true + isClosed: true *changed* + noOpenRef: true /home/src/projects/random/tsconfig.json (Configured) *new* projectStateVersion: 1 projectProgramVersion: 1 @@ -831,26 +587,18 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts *changed* version: Text-1 - containingProjects: 4 *changed* - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *deleted* version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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 @@ -868,25 +616,17 @@ Info seq [hh:mm:ss:mss] request: "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/project/app/tsconfig.json' (Configured) +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/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -898,11 +638,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} /home/src/projects/node_modules/@types: {"pollingInterval":500} +/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/demos/node_modules/@types: +/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} @@ -912,14 +660,8 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: {} -/home/src/projects/project/app/Component.ts: - {} /home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/tsconfig.json: - {} /home/src/projects/project/tsconfig.json: {} /home/src/projects/random/random.ts: *new* @@ -928,27 +670,13 @@ FsWatches:: {} FsWatchesRecursive:: -/home/src/projects/project: - {} -/home/src/projects/project/app: - {} -/home/src/projects/project/demos: - {} /home/src/projects/random: {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 - isOrphan: true - deferredClose: true /home/src/projects/random/tsconfig.json (Configured) *changed* projectStateVersion: 1 projectProgramVersion: 1 @@ -957,26 +685,13 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts version: Text-1 - containingProjects: 4 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + containingProjects: 1 + /dev/null/inferredProject1* *default* /home/src/projects/random/random.ts *changed* open: false *changed* version: SVC-1-0 @@ -985,19 +700,17 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/demos/tsconfig.json + /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 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] 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 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 +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/tsconfig.json +2: /home/src/projects/project/app/tsconfig.json 3: *ensureProjectForOpenFiles* //// [/home/src/projects/project/tsconfig.json] { @@ -1016,69 +729,73 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -2: /home/src/projects/project/tsconfig.json *new* +2: /home/src/projects/project/app/tsconfig.json *new* 3: *ensureProjectForOpenFiles* *new* Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) +/home/src/projects/project/app/tsconfig.json (Configured) *new* projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 2 *changed* - projectProgramVersion: 1 - dirty: true *changed* - isOrphan: false *changed* - deferredClose: undefined *changed* + 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/tsconfig.json +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/tsconfig.json", - "reason": "Change in config file detected" + "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/tsconfig.json : { +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : { "rootNames": [ - "/home/src/projects/project/app/Component-demos.ts", - "/home/src/projects/project/app/Component.ts", - "/home/src/projects/project/demos/helpers.ts" + "/home/src/projects/project/app/Component.ts" ], "options": { - "outDir": "/home/src/projects/project/dist", - "configFilePath": "/home/src/projects/project/tsconfig.json" - }, - "projectReferences": [ - { - "path": "/home/src/projects/project/demos/tsconfig.json", - "originalPath": "./demos/tsconfig.json" - }, - { - "path": "/home/src/projects/project/app/tsconfig.json", - "originalPath": "./app/tsconfig.json" - } - ] + "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/tsconfig.json -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/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] 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] 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/tsconfig.json" + "projectName": "/home/src/projects/project/app/tsconfig.json" } } Info seq [hh:mm:ss:mss] event: @@ -1087,54 +804,44 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "configFileDiag", "body": { - "triggerFile": "/home/src/projects/project/tsconfig.json", - "configFile": "/home/src/projects/project/tsconfig.json", + "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] 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/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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 '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/demos/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json +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] 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/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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 '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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: { @@ -1149,24 +856,82 @@ Info seq [hh:mm:ss:mss] event: } 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/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/jsconfig.json: + {"pollingInterval":2000} +/home/src/projects/project/node_modules: + {"pollingInterval":500} +/home/src/projects/project/node_modules/@types: + {"pollingInterval":500} +/home/src/projects/random/node_modules/@types: + {"pollingInterval":500} + +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:: -/home/src/projects/project/app/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) +/home/src/projects/project/app/tsconfig.json (Configured) *changed* projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 2 - projectProgramVersion: 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: - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/demos/tsconfig.json \ No newline at end of file + 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 index ca4236e80ef60..e90cac93be968 100644 --- 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 @@ -203,271 +203,46 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: 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/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/app/Component-demos.ts", - "/home/src/projects/project/app/Component.ts", - "/home/src/projects/project/demos/helpers.ts" - ], - "options": { - "outDir": "/home/src/projects/project/dist", - "configFilePath": "/home/src/projects/project/tsconfig.json" - }, - "projectReferences": [ - { - "path": "/home/src/projects/project/demos/tsconfig.json", - "originalPath": "./demos/tsconfig.json" - }, - { - "path": "/home/src/projects/project/app/tsconfig.json", - "originalPath": "./app/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/demos/helpers.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] Config: /home/src/projects/project/demos/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/demos/helpers.ts", - "/home/src/projects/project/app/Component-demos.ts" - ], - "options": { - "composite": true, - "rootDir": "/home/src/projects/project", - "outDir": "/home/src/projects/project/demos-dist", - "paths": { - "demos/*": [ - "./*" - ] - }, - "pathsBasePath": "/home/src/projects/project/demos", - "configFilePath": "/home/src/projects/project/demos/tsconfig.json" - } -} -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/tsconfig.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/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/demos/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/demos/tsconfig.json WatchType: Wild card directory -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 (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; }" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" - - - ../../../../a/lib/lib.d.ts - Default library for target 'es5' - demos/helpers.ts - Imported via 'demos/helpers' from file 'app/Component-demos.ts' - Matched by default include pattern '**/*' - app/Component-demos.ts - Matched by default include pattern '**/*' - app/Component.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": 3, - "tsSize": 141, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "outDir": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/demos/tsconfig.json", - "reason": "Creating project referenced in solution /home/src/projects/project/tsconfig.json to find possible configured project for /home/src/projects/project/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/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/demos/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/demos/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/demos/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/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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] 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/demos/helpers.ts Text-1 "export const foo = 1;\n" /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' - helpers.ts - Matched by include pattern '**/*' in 'tsconfig.json' - Imported via 'demos/helpers' from file '../app/Component-demos.ts' - ../app/Component-demos.ts - Matched by include pattern '../app/**/*-demos.*' in 'tsconfig.json' + Component-demos.ts + Root file specified for compilation 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/demos/tsconfig.json" - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "telemetry", - "body": { - "telemetryEventName": "projectInfo", - "payload": { - "projectId": "528692a1575f61fd3bf7069493cc100a7cad975f6cd24c47b7a63b99928a8171", - "fileStats": { - "js": 0, - "jsSize": 0, - "jsx": 0, - "jsxSize": 0, - "ts": 2, - "tsSize": 107, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "composite": true, - "rootDir": "", - "outDir": "", - "paths": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/demos/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/demos/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json 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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -482,11 +257,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} /home/src/projects/node_modules/@types: *new* {"pollingInterval":500} +/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/demos/node_modules/@types: *new* +/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} @@ -498,62 +281,41 @@ FsWatches:: {} /home/src/projects/project/app/tsconfig.json: *new* {} -/home/src/projects/project/demos/helpers.ts: *new* - {} -/home/src/projects/project/demos/tsconfig.json: *new* - {} /home/src/projects/project/tsconfig.json: *new* {} FsWatchesRecursive:: -/home/src/projects/project: *new* - {} /home/src/projects/project/app: *new* {} -/home/src/projects/project/demos: *new* - {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *new* +/dev/null/inferredProject1* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *new* - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *new* +/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: 3 + containingProjects: 2 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* /home/src/projects/project/app/Component-demos.ts (Open) *new* version: SVC-1-0 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* + containingProjects: 1 + /dev/null/inferredProject1* *default* /home/src/projects/project/app/Component.ts *new* version: Text-1 - containingProjects: 2 + containingProjects: 1 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts *new* - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/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 Project: /home/src/projects/project/tsconfig.json WatchType: Config file +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 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 +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 @@ -561,53 +323,32 @@ Before running Timeout callback:: count: 1 Timeout callback:: count: 1 1: *ensureProjectForOpenFiles* *new* -Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 1 - projectProgramVersion: 1 - isOrphan: true *changed* - deferredClose: true *changed* - +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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: Result: 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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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: { @@ -624,20 +365,15 @@ After running Timeout callback:: count: 0 Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/demos/tsconfig.json + /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 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] 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 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 -2: /home/src/projects/project/tsconfig.json -3: *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": { @@ -654,114 +390,35 @@ Before running Timeout callback:: count: 2 } -Timeout callback:: count: 2 -2: /home/src/projects/project/tsconfig.json *new* -3: *ensureProjectForOpenFiles* *new* - -Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 2 *changed* - projectProgramVersion: 1 - dirty: true *changed* - isOrphan: false *changed* - deferredClose: undefined *changed* +Timeout callback:: count: 1 +2: *ensureProjectForOpenFiles* *new* -Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/tsconfig.json", - "reason": "Change in config file detected" - } - } -Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/app/Component-demos.ts", - "/home/src/projects/project/app/Component.ts", - "/home/src/projects/project/demos/helpers.ts" - ], - "options": { - "outDir": "/home/src/projects/project/dist", - "configFilePath": "/home/src/projects/project/tsconfig.json" - }, - "projectReferences": [ - { - "path": "/home/src/projects/project/demos/tsconfig.json", - "originalPath": "./demos/tsconfig.json" - }, - { - "path": "/home/src/projects/project/app/tsconfig.json", - "originalPath": "./app/tsconfig.json" - } - ] -} -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:: 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": "/home/src/projects/project/tsconfig.json" - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/home/src/projects/project/tsconfig.json", - "configFile": "/home/src/projects/project/tsconfig.json", - "diagnostics": [] - } - } +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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/demos/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json +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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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: { @@ -776,23 +433,11 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 -Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 2 - projectProgramVersion: 1 - dirty: false *changed* - Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/demos/tsconfig.json + undefined Before request Info seq [hh:mm:ss:mss] request: @@ -906,25 +551,39 @@ Info seq [hh:mm:ss:mss] event: "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] Project '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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] 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 '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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: @@ -941,11 +600,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} /home/src/projects/node_modules/@types: {"pollingInterval":500} +/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/demos/node_modules/@types: +/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} @@ -955,39 +622,34 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: {} -/home/src/projects/project/app/Component.ts: - {} /home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/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/project: +/home/src/projects/random: *new* {} + +FsWatchesRecursive *deleted*:: /home/src/projects/project/app: {} -/home/src/projects/project/demos: - {} -/home/src/projects/random: *new* - {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) +/home/src/projects/project/app/tsconfig.json (Configured) *deleted* projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) - projectStateVersion: 2 - projectProgramVersion: 1 + isClosed: true *changed* + noOpenRef: true /home/src/projects/random/tsconfig.json (Configured) *new* projectStateVersion: 1 projectProgramVersion: 1 @@ -995,26 +657,18 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts *changed* version: Text-1 - containingProjects: 4 *changed* - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *deleted* version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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 @@ -1032,25 +686,17 @@ Info seq [hh:mm:ss:mss] request: "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/project/app/tsconfig.json' (Configured) +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/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -1062,11 +708,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} /home/src/projects/node_modules/@types: {"pollingInterval":500} +/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/demos/node_modules/@types: +/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} @@ -1076,14 +730,8 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: {} -/home/src/projects/project/app/Component.ts: - {} /home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/tsconfig.json: - {} /home/src/projects/project/tsconfig.json: {} /home/src/projects/random/random.ts: *new* @@ -1092,25 +740,13 @@ FsWatches:: {} FsWatchesRecursive:: -/home/src/projects/project: - {} -/home/src/projects/project/app: - {} -/home/src/projects/project/demos: - {} /home/src/projects/random: {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) - projectStateVersion: 2 - projectProgramVersion: 1 /home/src/projects/random/tsconfig.json (Configured) *changed* projectStateVersion: 1 projectProgramVersion: 1 @@ -1119,26 +755,13 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts version: Text-1 - containingProjects: 4 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + containingProjects: 1 + /dev/null/inferredProject1* *default* /home/src/projects/random/random.ts *changed* open: false *changed* version: SVC-1-0 @@ -1147,6 +770,6 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/demos/tsconfig.json \ No newline at end of file + 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 index dddd9bd01f356..bba710901b933 100644 --- 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 @@ -203,271 +203,46 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: 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/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/app/Component-demos.ts", - "/home/src/projects/project/app/Component.ts", - "/home/src/projects/project/demos/helpers.ts" - ], - "options": { - "outDir": "/home/src/projects/project/dist", - "configFilePath": "/home/src/projects/project/tsconfig.json" - }, - "projectReferences": [ - { - "path": "/home/src/projects/project/demos/tsconfig.json", - "originalPath": "./demos/tsconfig.json" - }, - { - "path": "/home/src/projects/project/app/tsconfig.json", - "originalPath": "./app/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/demos/helpers.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] Config: /home/src/projects/project/demos/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/demos/helpers.ts", - "/home/src/projects/project/app/Component-demos.ts" - ], - "options": { - "composite": true, - "rootDir": "/home/src/projects/project", - "outDir": "/home/src/projects/project/demos-dist", - "paths": { - "demos/*": [ - "./*" - ] - }, - "pathsBasePath": "/home/src/projects/project/demos", - "configFilePath": "/home/src/projects/project/demos/tsconfig.json" - } -} -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/tsconfig.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/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/demos/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/demos/tsconfig.json WatchType: Wild card directory -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 (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; }" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" - - - ../../../../a/lib/lib.d.ts - Default library for target 'es5' - demos/helpers.ts - Imported via 'demos/helpers' from file 'app/Component-demos.ts' - Matched by default include pattern '**/*' - app/Component-demos.ts - Matched by default include pattern '**/*' - app/Component.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": 3, - "tsSize": 141, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "outDir": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/demos/tsconfig.json", - "reason": "Creating project referenced in solution /home/src/projects/project/tsconfig.json to find possible configured project for /home/src/projects/project/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/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/demos/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/demos/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/demos/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/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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] 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/demos/helpers.ts Text-1 "export const foo = 1;\n" /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' - helpers.ts - Matched by include pattern '**/*' in 'tsconfig.json' - Imported via 'demos/helpers' from file '../app/Component-demos.ts' - ../app/Component-demos.ts - Matched by include pattern '../app/**/*-demos.*' in 'tsconfig.json' + Component-demos.ts + Root file specified for compilation 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/demos/tsconfig.json" - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "telemetry", - "body": { - "telemetryEventName": "projectInfo", - "payload": { - "projectId": "528692a1575f61fd3bf7069493cc100a7cad975f6cd24c47b7a63b99928a8171", - "fileStats": { - "js": 0, - "jsSize": 0, - "jsx": 0, - "jsxSize": 0, - "ts": 2, - "tsSize": 107, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "composite": true, - "rootDir": "", - "outDir": "", - "paths": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/demos/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/demos/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json 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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -482,11 +257,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} /home/src/projects/node_modules/@types: *new* {"pollingInterval":500} +/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/demos/node_modules/@types: *new* +/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} @@ -498,63 +281,43 @@ FsWatches:: {} /home/src/projects/project/app/tsconfig.json: *new* {} -/home/src/projects/project/demos/helpers.ts: *new* - {} -/home/src/projects/project/demos/tsconfig.json: *new* - {} /home/src/projects/project/tsconfig.json: *new* {} FsWatchesRecursive:: -/home/src/projects/project: *new* - {} /home/src/projects/project/app: *new* {} -/home/src/projects/project/demos: *new* - {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *new* - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *new* +/dev/null/inferredProject1* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *new* +/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: 3 + containingProjects: 2 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* /home/src/projects/project/app/Component-demos.ts (Open) *new* version: SVC-1-0 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* + containingProjects: 1 + /dev/null/inferredProject1* *default* /home/src/projects/project/app/Component.ts *new* version: Text-1 - containingProjects: 2 + containingProjects: 1 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts *new* - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/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 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] 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 Project: /home/src/projects/project/tsconfig.json WatchType: Config file -Before running Timeout callback:: count: 2 -1: /home/src/projects/project/tsconfig.json -2: *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": { @@ -568,120 +331,35 @@ Before running Timeout callback:: count: 2 } -Timeout callback:: count: 2 -1: /home/src/projects/project/tsconfig.json *new* -2: *ensureProjectForOpenFiles* *new* +Timeout callback:: count: 1 +1: *ensureProjectForOpenFiles* *new* -Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 2 *changed* - projectProgramVersion: 1 - dirty: true *changed* - -Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/tsconfig.json", - "reason": "Change in config file detected" - } - } -Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/app/Component-demos.ts", - "/home/src/projects/project/app/Component.ts", - "/home/src/projects/project/demos/helpers.ts" - ], - "options": { - "outDir": "/home/src/projects/project/dist", - "configFilePath": "/home/src/projects/project/tsconfig.json" - }, - "projectReferences": [ - { - "path": "/home/src/projects/project/app/tsconfig.json", - "originalPath": "./app/tsconfig.json" - } - ] -} -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/app 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/app 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 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] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/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/node_modules 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 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 (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; }" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\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/tsconfig.json" - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/home/src/projects/project/tsconfig.json", - "configFile": "/home/src/projects/project/tsconfig.json", - "diagnostics": [] - } - } +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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json +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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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: { @@ -696,60 +374,11 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 -PolledWatches:: -/home/src/projects/node_modules: *new* - {"pollingInterval":500} -/home/src/projects/node_modules/@types: - {"pollingInterval":500} -/home/src/projects/project/app/node_modules/@types: - {"pollingInterval":500} -/home/src/projects/project/demos/node_modules/@types: - {"pollingInterval":500} -/home/src/projects/project/node_modules: *new* - {"pollingInterval":500} -/home/src/projects/project/node_modules/@types: - {"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/demos/helpers.ts: - {} -/home/src/projects/project/demos/tsconfig.json: - {} -/home/src/projects/project/tsconfig.json: - {} - -FsWatchesRecursive:: -/home/src/projects/project: - {} -/home/src/projects/project/app: - {} -/home/src/projects/project/demos: - {} - -Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *changed* - projectStateVersion: 1 - projectProgramVersion: 1 - noOpenRef: true *changed* -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 2 - projectProgramVersion: 2 *changed* - dirty: false *changed* - Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/tsconfig.json + undefined Before request Info seq [hh:mm:ss:mss] request: @@ -864,48 +493,38 @@ Info seq [hh:mm:ss:mss] event: } } Info seq [hh:mm:ss:mss] `remove Project:: -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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/demos/helpers.ts - /home/src/projects/project/app/Component-demos.ts + /home/src/projects/project/app/Component.ts ../../../../../a/lib/lib.d.ts Default library for target 'es5' - helpers.ts + Component.ts Matched by include pattern '**/*' in 'tsconfig.json' - Imported via 'demos/helpers' from file '../app/Component-demos.ts' - ../app/Component-demos.ts - Matched by include pattern '../app/**/*-demos.*' in 'tsconfig.json' Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/demos/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/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/project/demos/tsconfig.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Config file -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/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/demos/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/demos/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/demos/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/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/app/tsconfig.json' (Configured) +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] 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 '/home/src/projects/project/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/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json +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: @@ -926,8 +545,14 @@ PolledWatches:: {"pollingInterval":500} /home/src/projects/node_modules/@types: {"pollingInterval":500} +/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/jsconfig.json: + {"pollingInterval":2000} /home/src/projects/project/node_modules: {"pollingInterval":500} /home/src/projects/project/node_modules/@types: @@ -935,52 +560,37 @@ PolledWatches:: /home/src/projects/random/node_modules/@types: *new* {"pollingInterval":500} -PolledWatches *deleted*:: -/home/src/projects/project/demos/node_modules/@types: - {"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/demos/helpers.ts: - {} /home/src/projects/project/tsconfig.json: {} /home/src/projects/random/tsconfig.json: *new* {} FsWatches *deleted*:: -/home/src/projects/project/demos/tsconfig.json: +/home/src/projects/project/app/Component.ts: {} FsWatchesRecursive:: -/home/src/projects/project: - {} -/home/src/projects/project/app: - {} /home/src/projects/random: *new* {} FsWatchesRecursive *deleted*:: -/home/src/projects/project/demos: +/home/src/projects/project/app: {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *deleted* +/home/src/projects/project/app/tsconfig.json (Configured) *deleted* projectStateVersion: 1 projectProgramVersion: 1 isClosed: true *changed* noOpenRef: true -/home/src/projects/project/tsconfig.json (Configured) - projectStateVersion: 2 - projectProgramVersion: 2 /home/src/projects/random/tsconfig.json (Configured) *new* projectStateVersion: 1 projectProgramVersion: 1 @@ -988,26 +598,18 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts *changed* version: Text-1 - containingProjects: 3 *changed* - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json + containingProjects: 2 *changed* + /dev/null/inferredProject1* /home/src/projects/random/tsconfig.json *new* - /home/src/projects/project/demos/tsconfig.json *deleted* -/home/src/projects/project/app/Component-demos.ts (Open) *changed* + /home/src/projects/project/app/tsconfig.json *deleted* +/home/src/projects/project/app/Component-demos.ts (Open) version: SVC-1-0 - containingProjects: 1 *changed* - /home/src/projects/project/tsconfig.json *default* - /home/src/projects/project/demos/tsconfig.json *deleted* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts *changed* + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *deleted* version: Text-1 - containingProjects: 1 *changed* - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *deleted* + 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 @@ -1025,21 +627,17 @@ Info seq [hh:mm:ss:mss] request: "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/project/app/tsconfig.json' (Configured) +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/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/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -1055,8 +653,14 @@ PolledWatches:: {"pollingInterval":500} /home/src/projects/node_modules/@types: {"pollingInterval":500} +/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/jsconfig.json: + {"pollingInterval":2000} /home/src/projects/project/node_modules: {"pollingInterval":500} /home/src/projects/project/node_modules/@types: @@ -1067,12 +671,8 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: {} -/home/src/projects/project/app/Component.ts: - {} /home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos/helpers.ts: - {} /home/src/projects/project/tsconfig.json: {} /home/src/projects/random/random.ts: *new* @@ -1081,20 +681,13 @@ FsWatches:: {} FsWatchesRecursive:: -/home/src/projects/project: - {} -/home/src/projects/project/app: - {} /home/src/projects/random: {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) - projectStateVersion: 2 - projectProgramVersion: 2 /home/src/projects/random/tsconfig.json (Configured) *changed* projectStateVersion: 1 projectProgramVersion: 1 @@ -1103,23 +696,13 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts version: Text-1 - containingProjects: 3 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json + 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 - /home/src/projects/project/tsconfig.json *default* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts - version: Text-1 - containingProjects: 1 - /home/src/projects/project/tsconfig.json + /dev/null/inferredProject1* *default* /home/src/projects/random/random.ts *changed* open: false *changed* version: SVC-1-0 @@ -1128,17 +711,18 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/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 Project: /home/src/projects/project/tsconfig.json WatchType: Config file -Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project/tsconfig.json + 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 Project: /home/src/projects/project/tsconfig.json WatchType: Config file +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 -3: /home/src/projects/project/tsconfig.json -4: *ensureProjectForOpenFiles* +2: /home/src/projects/project/app/tsconfig.json +3: *ensureProjectForOpenFiles* //// [/home/src/projects/project/tsconfig.json] { "compilerOptions": { @@ -1156,91 +740,64 @@ Before running Timeout callback:: count: 2 Timeout callback:: count: 2 -3: /home/src/projects/project/tsconfig.json *new* -4: *ensureProjectForOpenFiles* *new* +2: /home/src/projects/project/app/tsconfig.json *new* +3: *ensureProjectForOpenFiles* *new* Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 3 *changed* - projectProgramVersion: 2 - dirty: true *changed* +/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/tsconfig.json +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/tsconfig.json", - "reason": "Change in config file detected" + "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/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/app/Component-demos.ts", - "/home/src/projects/project/app/Component.ts", - "/home/src/projects/project/demos/helpers.ts" - ], - "options": { - "outDir": "/home/src/projects/project/dist", - "configFilePath": "/home/src/projects/project/tsconfig.json" - }, - "projectReferences": [ - { - "path": "/home/src/projects/project/demos/tsconfig.json", - "originalPath": "./demos/tsconfig.json" - }, - { - "path": "/home/src/projects/project/app/tsconfig.json", - "originalPath": "./app/tsconfig.json" - } - ] -} -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/demos/tsconfig.json : { +Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/app/tsconfig.json : { "rootNames": [ - "/home/src/projects/project/demos/helpers.ts", - "/home/src/projects/project/app/Component-demos.ts" + "/home/src/projects/project/app/Component.ts" ], "options": { "composite": true, - "rootDir": "/home/src/projects/project", - "outDir": "/home/src/projects/project/demos-dist", - "paths": { - "demos/*": [ - "./*" - ] - }, - "pathsBasePath": "/home/src/projects/project/demos", - "configFilePath": "/home/src/projects/project/demos/tsconfig.json" + "outDir": "/home/src/projects/project/app-dist", + "configFilePath": "/home/src/projects/project/app/tsconfig.json" } } -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/tsconfig.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/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/demos/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/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: 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:: Close:: 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] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/tsconfig.json projectStateVersion: 3 projectProgramVersion: 2 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 (4) +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] 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/demos/helpers.ts Text-1 "export const foo = 1;\n" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" + /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: @@ -1249,7 +806,7 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "projectLoadingFinish", "body": { - "projectName": "/home/src/projects/project/tsconfig.json" + "projectName": "/home/src/projects/project/app/tsconfig.json" } } Info seq [hh:mm:ss:mss] event: @@ -1258,105 +815,44 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "configFileDiag", "body": { - "triggerFile": "/home/src/projects/project/tsconfig.json", - "configFile": "/home/src/projects/project/tsconfig.json", + "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] 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/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (4) +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 '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/demos/tsconfig.json", - "reason": "Creating project referenced in solution /home/src/projects/project/tsconfig.json to find possible configured project for /home/src/projects/project/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/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/demos/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/demos/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/demos/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/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) - /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/demos/helpers.ts Text-1 "export const foo = 1;\n" - /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' - helpers.ts - Matched by include pattern '**/*' in 'tsconfig.json' - Imported via 'demos/helpers' from file '../app/Component-demos.ts' - ../app/Component-demos.ts - Matched by include pattern '../app/**/*-demos.*' 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/demos/tsconfig.json" - } - } -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/demos/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/demos/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json +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] 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/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/projects/random/tsconfig.json' (Configured) +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 '/home/src/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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: { @@ -1372,34 +868,32 @@ Info seq [hh:mm:ss:mss] event: 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/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/demos/node_modules/@types: *new* +/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/random/node_modules/@types: {"pollingInterval":500} -PolledWatches *deleted*:: -/home/src/projects/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/Component.ts: *new* {} /home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/tsconfig.json: *new* - {} /home/src/projects/project/tsconfig.json: {} /home/src/projects/random/random.ts: @@ -1408,26 +902,20 @@ FsWatches:: {} FsWatchesRecursive:: -/home/src/projects/project: - {} -/home/src/projects/project/app: - {} -/home/src/projects/project/demos: *new* +/home/src/projects/project/app: *new* {} /home/src/projects/random: {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *new* +/home/src/projects/project/app/tsconfig.json (Configured) *changed* projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 3 - projectProgramVersion: 3 *changed* + projectProgramVersion: 1 *changed* dirty: false *changed* + noOpenRef: true *changed* /home/src/projects/random/tsconfig.json (Configured) projectStateVersion: 1 projectProgramVersion: 1 @@ -1436,26 +924,18 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts *changed* version: Text-1 - containingProjects: 4 *changed* - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json + containingProjects: 3 *changed* + /dev/null/inferredProject1* /home/src/projects/random/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *new* -/home/src/projects/project/app/Component-demos.ts (Open) *changed* + /home/src/projects/project/app/tsconfig.json *new* +/home/src/projects/project/app/Component-demos.ts (Open) version: SVC-1-0 - containingProjects: 2 *changed* - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* *new* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 + 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/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts *changed* - version: Text-1 - containingProjects: 2 *changed* - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *new* /home/src/projects/random/random.ts version: SVC-1-0 containingProjects: 1 @@ -1463,6 +943,6 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/demos/tsconfig.json \ No newline at end of file + 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 index 27fd7faaffac9..02ced48851345 100644 --- 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 @@ -203,271 +203,46 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: 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/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/app/Component-demos.ts", - "/home/src/projects/project/app/Component.ts", - "/home/src/projects/project/demos/helpers.ts" - ], - "options": { - "outDir": "/home/src/projects/project/dist", - "configFilePath": "/home/src/projects/project/tsconfig.json" - }, - "projectReferences": [ - { - "path": "/home/src/projects/project/demos/tsconfig.json", - "originalPath": "./demos/tsconfig.json" - }, - { - "path": "/home/src/projects/project/app/tsconfig.json", - "originalPath": "./app/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/demos/helpers.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] Config: /home/src/projects/project/demos/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/demos/helpers.ts", - "/home/src/projects/project/app/Component-demos.ts" - ], - "options": { - "composite": true, - "rootDir": "/home/src/projects/project", - "outDir": "/home/src/projects/project/demos-dist", - "paths": { - "demos/*": [ - "./*" - ] - }, - "pathsBasePath": "/home/src/projects/project/demos", - "configFilePath": "/home/src/projects/project/demos/tsconfig.json" - } -} -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/tsconfig.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/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos 1 undefined Config: /home/src/projects/project/demos/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/app 1 undefined Config: /home/src/projects/project/demos/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/demos/tsconfig.json WatchType: Wild card directory -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 (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; }" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" - - - ../../../../a/lib/lib.d.ts - Default library for target 'es5' - demos/helpers.ts - Imported via 'demos/helpers' from file 'app/Component-demos.ts' - Matched by default include pattern '**/*' - app/Component-demos.ts - Matched by default include pattern '**/*' - app/Component.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": 3, - "tsSize": 141, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "outDir": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] Creating configuration project /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/demos/tsconfig.json", - "reason": "Creating project referenced in solution /home/src/projects/project/tsconfig.json to find possible configured project for /home/src/projects/project/app/Component-demos.ts to open" - } - } -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/demos/node_modules/@types 1 undefined Project: /home/src/projects/project/demos/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/demos/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/demos/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/demos/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/demos/tsconfig.json WatchType: Type roots -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/demos/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/home/src/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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] 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/demos/helpers.ts Text-1 "export const foo = 1;\n" /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' - helpers.ts - Matched by include pattern '**/*' in 'tsconfig.json' - Imported via 'demos/helpers' from file '../app/Component-demos.ts' - ../app/Component-demos.ts - Matched by include pattern '../app/**/*-demos.*' in 'tsconfig.json' + Component-demos.ts + Root file specified for compilation 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/demos/tsconfig.json" - } - } -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "telemetry", - "body": { - "telemetryEventName": "projectInfo", - "payload": { - "projectId": "528692a1575f61fd3bf7069493cc100a7cad975f6cd24c47b7a63b99928a8171", - "fileStats": { - "js": 0, - "jsSize": 0, - "jsx": 0, - "jsxSize": 0, - "ts": 2, - "tsSize": 107, - "tsx": 0, - "tsxSize": 0, - "dts": 1, - "dtsSize": 334, - "deferred": 0, - "deferredSize": 0 - }, - "compilerOptions": { - "composite": true, - "rootDir": "", - "outDir": "", - "paths": "" - }, - "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/app/Component-demos.ts", - "configFile": "/home/src/projects/project/demos/tsconfig.json", - "diagnostics": [] - } - } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/demos/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json 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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -482,11 +257,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: *new* + {"pollingInterval":500} /home/src/projects/node_modules/@types: *new* {"pollingInterval":500} +/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/demos/node_modules/@types: *new* +/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} @@ -498,63 +281,43 @@ FsWatches:: {} /home/src/projects/project/app/tsconfig.json: *new* {} -/home/src/projects/project/demos/helpers.ts: *new* - {} -/home/src/projects/project/demos/tsconfig.json: *new* - {} /home/src/projects/project/tsconfig.json: *new* {} FsWatchesRecursive:: -/home/src/projects/project: *new* - {} /home/src/projects/project/app: *new* {} -/home/src/projects/project/demos: *new* - {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) *new* - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *new* +/dev/null/inferredProject1* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *new* +/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: 3 + containingProjects: 2 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* /home/src/projects/project/app/Component-demos.ts (Open) *new* version: SVC-1-0 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* + containingProjects: 1 + /dev/null/inferredProject1* *default* /home/src/projects/project/app/Component.ts *new* version: Text-1 - containingProjects: 2 + containingProjects: 1 /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts *new* - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/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 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] 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 Project: /home/src/projects/project/tsconfig.json WatchType: Config file -Before running Timeout callback:: count: 2 -1: /home/src/projects/project/tsconfig.json -2: *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": { @@ -568,120 +331,35 @@ Before running Timeout callback:: count: 2 } -Timeout callback:: count: 2 -1: /home/src/projects/project/tsconfig.json *new* -2: *ensureProjectForOpenFiles* *new* - -Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 2 *changed* - projectProgramVersion: 1 - dirty: true *changed* - -Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/tsconfig.json", - "reason": "Change in config file detected" - } - } -Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/app/Component-demos.ts", - "/home/src/projects/project/app/Component.ts", - "/home/src/projects/project/demos/helpers.ts" - ], - "options": { - "outDir": "/home/src/projects/project/dist", - "configFilePath": "/home/src/projects/project/tsconfig.json" - }, - "projectReferences": [ - { - "path": "/home/src/projects/project/app/tsconfig.json", - "originalPath": "./app/tsconfig.json" - } - ] -} -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/app 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/app 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 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] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/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/node_modules 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 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 (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; }" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" +Timeout callback:: count: 1 +1: *ensureProjectForOpenFiles* *new* -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": "configFileDiag", - "body": { - "triggerFile": "/home/src/projects/project/tsconfig.json", - "configFile": "/home/src/projects/project/tsconfig.json", - "diagnostics": [] - } - } +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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json +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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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: { @@ -696,68 +374,17 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 -PolledWatches:: -/home/src/projects/node_modules: *new* - {"pollingInterval":500} -/home/src/projects/node_modules/@types: - {"pollingInterval":500} -/home/src/projects/project/app/node_modules/@types: - {"pollingInterval":500} -/home/src/projects/project/demos/node_modules/@types: - {"pollingInterval":500} -/home/src/projects/project/node_modules: *new* - {"pollingInterval":500} -/home/src/projects/project/node_modules/@types: - {"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/demos/helpers.ts: - {} -/home/src/projects/project/demos/tsconfig.json: - {} -/home/src/projects/project/tsconfig.json: - {} - -FsWatchesRecursive:: -/home/src/projects/project: - {} -/home/src/projects/project/app: - {} -/home/src/projects/project/demos: - {} - -Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *changed* - projectStateVersion: 1 - projectProgramVersion: 1 - noOpenRef: true *changed* -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 2 - projectProgramVersion: 2 *changed* - dirty: false *changed* - Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/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 Project: /home/src/projects/project/tsconfig.json WatchType: Config file -Info seq [hh:mm:ss:mss] Scheduled: /home/src/projects/project/tsconfig.json + 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 Project: /home/src/projects/project/tsconfig.json WatchType: Config file -Before running Timeout callback:: count: 2 -3: /home/src/projects/project/tsconfig.json -4: *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": { @@ -774,126 +401,35 @@ Before running Timeout callback:: count: 2 } -Timeout callback:: count: 2 -3: /home/src/projects/project/tsconfig.json *new* -4: *ensureProjectForOpenFiles* *new* - -Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 - noOpenRef: true -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 3 *changed* - projectProgramVersion: 2 - dirty: true *changed* - -Info seq [hh:mm:ss:mss] Running: /home/src/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectLoadingStart", - "body": { - "projectName": "/home/src/projects/project/tsconfig.json", - "reason": "Change in config file detected" - } - } -Info seq [hh:mm:ss:mss] Config: /home/src/projects/project/tsconfig.json : { - "rootNames": [ - "/home/src/projects/project/app/Component-demos.ts", - "/home/src/projects/project/app/Component.ts", - "/home/src/projects/project/demos/helpers.ts" - ], - "options": { - "outDir": "/home/src/projects/project/dist", - "configFilePath": "/home/src/projects/project/tsconfig.json" - }, - "projectReferences": [ - { - "path": "/home/src/projects/project/demos/tsconfig.json", - "originalPath": "./demos/tsconfig.json" - }, - { - "path": "/home/src/projects/project/app/tsconfig.json", - "originalPath": "./app/tsconfig.json" - } - ] -} -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project/app 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: 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:: Close:: 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] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project/tsconfig.json projectStateVersion: 3 projectProgramVersion: 2 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 (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; }" - /home/src/projects/project/demos/helpers.ts Text-1 "export const foo = 1;\n" - /home/src/projects/project/app/Component-demos.ts SVC-1-0 "import * as helpers from 'demos/helpers';\nexport const demo = () => {\n helpers;\n}\n" - /home/src/projects/project/app/Component.ts Text-1 "export const Component = () => {}\n" +Timeout callback:: count: 1 +2: *ensureProjectForOpenFiles* *new* -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": "configFileDiag", - "body": { - "triggerFile": "/home/src/projects/project/tsconfig.json", - "configFile": "/home/src/projects/project/tsconfig.json", - "diagnostics": [] - } - } +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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/app/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/demos/tsconfig.json ProjectRootPath: undefined:: Result: /home/src/projects/project/tsconfig.json +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 '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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: { @@ -908,62 +444,11 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 -PolledWatches:: -/home/src/projects/node_modules/@types: - {"pollingInterval":500} -/home/src/projects/project/app/node_modules/@types: - {"pollingInterval":500} -/home/src/projects/project/demos/node_modules/@types: - {"pollingInterval":500} -/home/src/projects/project/node_modules/@types: - {"pollingInterval":500} - -PolledWatches *deleted*:: -/home/src/projects/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/demos/helpers.ts: - {} -/home/src/projects/project/demos/tsconfig.json: - {} -/home/src/projects/project/tsconfig.json: - {} - -FsWatchesRecursive:: -/home/src/projects/project: - {} -/home/src/projects/project/app: - {} -/home/src/projects/project/demos: - {} - -Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) *changed* - projectStateVersion: 1 - projectProgramVersion: 1 - noOpenRef: false *changed* -/home/src/projects/project/tsconfig.json (Configured) *changed* - projectStateVersion: 3 - projectProgramVersion: 3 *changed* - dirty: false *changed* - Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/demos/tsconfig.json + undefined Before request Info seq [hh:mm:ss:mss] request: @@ -1077,25 +562,39 @@ Info seq [hh:mm:ss:mss] event: "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] Project '/home/src/projects/project/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) +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] 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 '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +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: @@ -1112,11 +611,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} /home/src/projects/node_modules/@types: {"pollingInterval":500} +/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/demos/node_modules/@types: +/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} @@ -1126,39 +633,34 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: {} -/home/src/projects/project/app/Component.ts: - {} /home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/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/project: +/home/src/projects/random: *new* {} + +FsWatchesRecursive *deleted*:: /home/src/projects/project/app: {} -/home/src/projects/project/demos: - {} -/home/src/projects/random: *new* - {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) +/home/src/projects/project/app/tsconfig.json (Configured) *deleted* projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) - projectStateVersion: 3 - projectProgramVersion: 3 + isClosed: true *changed* + noOpenRef: true /home/src/projects/random/tsconfig.json (Configured) *new* projectStateVersion: 1 projectProgramVersion: 1 @@ -1166,26 +668,18 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts *changed* version: Text-1 - containingProjects: 4 *changed* - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts + containingProjects: 1 + /dev/null/inferredProject1* *default* +/home/src/projects/project/app/Component.ts *deleted* version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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 @@ -1203,25 +697,17 @@ Info seq [hh:mm:ss:mss] request: "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/project/app/tsconfig.json' (Configured) +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/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/projects/project/demos/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/home/src/projects/random/tsconfig.json' (Configured) +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: /home/src/projects/project/tsconfig.json,/home/src/projects/project/demos/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -1233,11 +719,19 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules: + {"pollingInterval":500} /home/src/projects/node_modules/@types: {"pollingInterval":500} +/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/demos/node_modules/@types: +/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} @@ -1247,14 +741,8 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: {} -/home/src/projects/project/app/Component.ts: - {} /home/src/projects/project/app/tsconfig.json: {} -/home/src/projects/project/demos/helpers.ts: - {} -/home/src/projects/project/demos/tsconfig.json: - {} /home/src/projects/project/tsconfig.json: {} /home/src/projects/random/random.ts: *new* @@ -1263,25 +751,13 @@ FsWatches:: {} FsWatchesRecursive:: -/home/src/projects/project: - {} -/home/src/projects/project/app: - {} -/home/src/projects/project/demos: - {} /home/src/projects/random: {} Projects:: -/home/src/projects/project/app/tsconfig.json (Configured) - projectStateVersion: 1 - projectProgramVersion: 1 -/home/src/projects/project/demos/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 -/home/src/projects/project/tsconfig.json (Configured) - projectStateVersion: 3 - projectProgramVersion: 3 /home/src/projects/random/tsconfig.json (Configured) *changed* projectStateVersion: 1 projectProgramVersion: 1 @@ -1290,26 +766,13 @@ Projects:: ScriptInfos:: /a/lib/lib.d.ts version: Text-1 - containingProjects: 4 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + 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: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json *default* -/home/src/projects/project/app/Component.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/app/tsconfig.json - /home/src/projects/project/tsconfig.json -/home/src/projects/project/demos/helpers.ts - version: Text-1 - containingProjects: 2 - /home/src/projects/project/tsconfig.json - /home/src/projects/project/demos/tsconfig.json + containingProjects: 1 + /dev/null/inferredProject1* *default* /home/src/projects/random/random.ts *changed* open: false *changed* version: SVC-1-0 @@ -1318,6 +781,6 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] File: /home/src/projects/project/app/Component-demos.ts: getDefaultProjectForFile: - /home/src/projects/project/demos/tsconfig.json + /dev/null/inferredProject1* findDefaultConfiguredProject: - /home/src/projects/project/demos/tsconfig.json \ No newline at end of file + undefined \ No newline at end of file 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 index 6bd86d5d804a3..516531c1564b4 100644 --- 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 @@ -276,7 +276,6 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/projects/project/tsconfig.json ProjectRootPath: /home/src/projects/project:: Result: undefined 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 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 51f94913c1321..5c7814e75bf75 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 @@ -417,18 +417,42 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/playground/tsconfig-json/tsconfig.json ProjectRootPath: undefined:: Result: /user/username/projects/myproject/playground/tsconfig.json +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) + /a/lib/lib.d.ts + /user/username/projects/myproject/playground/tests.ts + /user/username/projects/myproject/playground/tsconfig-json/src/src.ts + /user/username/projects/myproject/playground/tsconfig-json/tests/spec.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + tests.ts + Matched by default include pattern '**/*' + tsconfig-json/src/src.ts + Matched by default include pattern '**/*' + tsconfig-json/tests/spec.ts + Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/playground 1 undefined Config: /user/username/projects/myproject/playground/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/playground 1 undefined Config: /user/username/projects/myproject/playground/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/playground/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/playground/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/playground/node_modules/@types 1 undefined Project: /user/username/projects/myproject/playground/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/playground/node_modules/@types 1 undefined Project: /user/username/projects/myproject/playground/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/playground/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/playground/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/playground/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/playground/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/playground/tests.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/playground/tsconfig-json/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/playground/tsconfig-json/tests/spec.ts ProjectRootPath: undefined -Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/playground/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -455,54 +479,58 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: {} -/user/username/projects/myproject/playground/tests.ts: - {} /user/username/projects/myproject/playground/tsconfig-json/src/src.ts: {} /user/username/projects/myproject/playground/tsconfig-json/tsconfig.json: *new* {} -/user/username/projects/myproject/playground/tsconfig.json: - {} FsWatches *deleted*:: +/user/username/projects/myproject/playground/tests.ts: + {} /user/username/projects/myproject/playground/tsconfig-json/tests/spec.ts: {} +/user/username/projects/myproject/playground/tsconfig.json: + {} FsWatchesRecursive:: -/user/username/projects/myproject/playground: - {} /user/username/projects/myproject/playground/tsconfig-json/src: *new* {} +FsWatchesRecursive *deleted*:: +/user/username/projects/myproject/playground: + {} + Projects:: /user/username/projects/myproject/playground/tsconfig-json/tsconfig.json (Configured) *new* projectStateVersion: 1 projectProgramVersion: 1 -/user/username/projects/myproject/playground/tsconfig.json (Configured) *changed* + noOpenRef: true +/user/username/projects/myproject/playground/tsconfig.json (Configured) *deleted* projectStateVersion: 1 projectProgramVersion: 1 - noOpenRef: false *changed* + isClosed: true *changed* + noOpenRef: true ScriptInfos:: /a/lib/lib.d.ts *changed* version: Text-1 - containingProjects: 2 *changed* - /user/username/projects/myproject/playground/tsconfig.json + containingProjects: 1 *changed* /user/username/projects/myproject/playground/tsconfig-json/tsconfig.json *new* -/user/username/projects/myproject/playground/tests.ts + /user/username/projects/myproject/playground/tsconfig.json *deleted* +/user/username/projects/myproject/playground/tests.ts *deleted* version: SVC-1-0 - containingProjects: 1 - /user/username/projects/myproject/playground/tsconfig.json + containingProjects: 0 *changed* + /user/username/projects/myproject/playground/tsconfig.json *deleted* /user/username/projects/myproject/playground/tsconfig-json/src/src.ts *changed* version: Text-1 - containingProjects: 2 *changed* - /user/username/projects/myproject/playground/tsconfig.json + containingProjects: 1 *changed* /user/username/projects/myproject/playground/tsconfig-json/tsconfig.json *new* + /user/username/projects/myproject/playground/tsconfig.json *deleted* /user/username/projects/myproject/playground/tsconfig-json/tests/spec.ts (Open) *changed* open: true *changed* version: Text-1 - containingProjects: 1 - /user/username/projects/myproject/playground/tsconfig.json *default* + containingProjects: 0 *changed* + /user/username/projects/myproject/playground/tsconfig.json *deleted* Before request @@ -515,6 +543,57 @@ Info seq [hh:mm:ss:mss] request: "seq": 4, "type": "request" } +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/playground/tsconfig-json/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/playground/tsconfig-json/tests/spec.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/playground/tsconfig-json/tests/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/playground/tsconfig-json/tests/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/playground/tsconfig-json/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/playground/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/playground/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/playground/tsconfig-json/tests/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/playground/tsconfig-json/tests/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/playground/tsconfig-json/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/playground/tsconfig-json/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/playground/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/playground/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/playground/tsconfig-json/tests/spec.ts Text-1 "export function bar() { }" + + + ../../../../../../../a/lib/lib.d.ts + Default library for target 'es5' + spec.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/playground/tsconfig-json/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/playground/tsconfig-json/tests/spec.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] response: { "response": [ @@ -544,6 +623,71 @@ Info seq [hh:mm:ss:mss] response: "kind": "code" } ], - "responseRequired": true + "responseRequired": true, + "performanceData": { + "updateGraphDurationMs": * + } } After request + +PolledWatches:: +/user/username/projects/myproject/jsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/playground/jsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/playground/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/playground/tsconfig-json/jsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/playground/tsconfig-json/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/playground/tsconfig-json/tests/jsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/playground/tsconfig-json/tests/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/playground/tsconfig-json/tests/tsconfig.json: *new* + {"pollingInterval":2000} +/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/playground/tsconfig-json/src/src.ts: + {} +/user/username/projects/myproject/playground/tsconfig-json/tsconfig.json: + {} +/user/username/projects/myproject/playground/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject/playground/tsconfig-json/src: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/user/username/projects/myproject/playground/tsconfig-json/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /user/username/projects/myproject/playground/tsconfig-json/tsconfig.json + /dev/null/inferredProject1* *new* +/user/username/projects/myproject/playground/tsconfig-json/src/src.ts + version: Text-1 + containingProjects: 1 + /user/username/projects/myproject/playground/tsconfig-json/tsconfig.json +/user/username/projects/myproject/playground/tsconfig-json/tests/spec.ts (Open) *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject1* *default* *new* 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 05a8f9648a9a9..6da3158278768 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 @@ -445,36 +445,93 @@ Info seq [hh:mm:ss:mss] event: ] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/apps/editor/tsconfig.json ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json +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) + /a/lib/lib.d.ts + /user/username/projects/myproject/apps/editor/scripts/createConfigVariable.js + /user/username/projects/myproject/apps/editor/src/src.js + /user/username/projects/myproject/mocks/cssMock.js + + + ../../../../a/lib/lib.d.ts + Default library for target 'es5' + apps/editor/scripts/createConfigVariable.js + Matched by default include pattern '**/*' + apps/editor/src/src.js + Matched by default include pattern '**/*' + mocks/cssMock.js + Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject 1 undefined Config: /user/username/projects/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject 1 undefined Config: /user/username/projects/myproject/tsconfig.json WatchType: Wild card directory +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/mocks/cssMock.js 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/apps/editor/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/apps/editor/scripts/createConfigVariable.js ProjectRootPath: undefined -Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] response: - { - "seq": 0, - "type": "response", - "command": "open", - "request_seq": 3, - "success": true, - "performanceData": { - "updateGraphDurationMs": * - } - } -After request +Info seq [hh:mm:ss:mss] Projects: +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/apps/editor/scripts/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/apps/editor/scripts/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/apps/editor/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/apps/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/apps/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/apps/editor/scripts/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/apps/editor/scripts/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/apps/editor/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/apps/editor/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/apps/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/apps/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/apps/editor/scripts/createConfigVariable.js Text-1 "function bar() { }" + + + ../../../../../../../a/lib/lib.d.ts + Default library for target 'es5' + createConfigVariable.js + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +TI:: Creating typing installer PolledWatches:: +/user/username/projects/myproject/apps/editor/jsconfig.json: *new* + {"pollingInterval":2000} /user/username/projects/myproject/apps/editor/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/apps/editor/scripts/jsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/apps/editor/scripts/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/myproject/apps/editor/scripts/tsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/apps/jsconfig.json: *new* + {"pollingInterval":2000} /user/username/projects/myproject/apps/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/apps/tsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/jsconfig.json: *new* + {"pollingInterval":2000} /user/username/projects/myproject/node_modules/@types: {"pollingInterval":500} /user/username/projects/node_modules/@types: @@ -487,47 +544,257 @@ FsWatches:: {} /user/username/projects/myproject/apps/editor/tsconfig.json: *new* {} -/user/username/projects/myproject/mocks/cssMock.js: - {} /user/username/projects/myproject/tsconfig.json: {} FsWatches *deleted*:: /user/username/projects/myproject/apps/editor/scripts/createConfigVariable.js: {} +/user/username/projects/myproject/mocks/cssMock.js: + {} FsWatchesRecursive:: -/user/username/projects/myproject: - {} /user/username/projects/myproject/apps/editor/src: *new* {} +FsWatchesRecursive *deleted*:: +/user/username/projects/myproject: + {} + Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 0 /user/username/projects/myproject/apps/editor/tsconfig.json (Configured) *new* projectStateVersion: 1 projectProgramVersion: 1 -/user/username/projects/myproject/tsconfig.json (Configured) *changed* + noOpenRef: true +/user/username/projects/myproject/tsconfig.json (Configured) *deleted* projectStateVersion: 1 projectProgramVersion: 1 - noOpenRef: false *changed* + isClosed: true *changed* + noOpenRef: true ScriptInfos:: /a/lib/lib.d.ts *changed* version: Text-1 containingProjects: 2 *changed* - /user/username/projects/myproject/tsconfig.json /user/username/projects/myproject/apps/editor/tsconfig.json *new* + /dev/null/inferredProject1* *new* + /user/username/projects/myproject/tsconfig.json *deleted* /user/username/projects/myproject/apps/editor/scripts/createConfigVariable.js (Open) *changed* open: true *changed* version: Text-1 - containingProjects: 1 - /user/username/projects/myproject/tsconfig.json *default* + containingProjects: 1 *changed* + /dev/null/inferredProject1* *default* *new* + /user/username/projects/myproject/tsconfig.json *deleted* /user/username/projects/myproject/apps/editor/src/src.js *changed* version: Text-1 - containingProjects: 2 *changed* - /user/username/projects/myproject/tsconfig.json + containingProjects: 1 *changed* /user/username/projects/myproject/apps/editor/tsconfig.json *new* -/user/username/projects/myproject/mocks/cssMock.js + /user/username/projects/myproject/tsconfig.json *deleted* +/user/username/projects/myproject/mocks/cssMock.js *deleted* version: SVC-1-0 - containingProjects: 1 - /user/username/projects/myproject/tsconfig.json + containingProjects: 0 *changed* + /user/username/projects/myproject/tsconfig.json *deleted* + +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", + "/user/username/projects/myproject/apps/editor/scripts/createConfigVariable.js" + ], + "compilerOptions": { + "target": 1, + "jsx": 1, + "allowNonTsExtensions": true, + "allowJs": true, + "noEmitForJsFiles": true, + "maxNodeModuleJsDepth": 2 + }, + "typeAcquisition": { + "enable": true, + "include": [], + "exclude": [] + }, + "unresolvedImports": [], + "projectRootPath": "/user/username/projects/myproject/apps/editor/scripts", + "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": [ + "/user/username/projects/myproject/apps/editor/scripts/bower_components", + "/user/username/projects/myproject/apps/editor/scripts/node_modules" + ] + } +TI:: [hh:mm:ss:mss] Sending response: + { + "kind": "action::watchTypingLocations", + "projectName": "/dev/null/inferredProject1*", + "files": [ + "/user/username/projects/myproject/apps/editor/scripts/bower_components", + "/user/username/projects/myproject/apps/editor/scripts/node_modules" + ] + } +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/apps/editor/scripts/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: /user/username/projects/myproject/apps/editor/scripts/bower_components 1 undefined Project: /dev/null/inferredProject1* WatchType: Directory location for typing installer +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/apps/editor/scripts/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: /user/username/projects/myproject/apps/editor/scripts/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, + "maxNodeModuleJsDepth": 2 + }, + "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, + "maxNodeModuleJsDepth": 2 + }, + "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] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/apps/editor/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/apps/editor/scripts/createConfigVariable.js ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/apps/editor/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/apps/editor/scripts/createConfigVariable.js ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 3, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After request + +PolledWatches:: +/user/username/projects/myproject/apps/editor/jsconfig.json: + {"pollingInterval":2000} +/user/username/projects/myproject/apps/editor/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/apps/editor/scripts/bower_components: *new* + {"pollingInterval":500} +/user/username/projects/myproject/apps/editor/scripts/jsconfig.json: + {"pollingInterval":2000} +/user/username/projects/myproject/apps/editor/scripts/node_modules: *new* + {"pollingInterval":500} +/user/username/projects/myproject/apps/editor/scripts/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/apps/editor/scripts/tsconfig.json: + {"pollingInterval":2000} +/user/username/projects/myproject/apps/jsconfig.json: + {"pollingInterval":2000} +/user/username/projects/myproject/apps/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/myproject/apps/tsconfig.json: + {"pollingInterval":2000} +/user/username/projects/myproject/jsconfig.json: + {"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/apps/editor/src/src.js: + {} +/user/username/projects/myproject/apps/editor/tsconfig.json: + {} +/user/username/projects/myproject/tsconfig.json: + {} + +FsWatchesRecursive:: +/user/username/projects/myproject/apps/editor/src: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 *changed* +/user/username/projects/myproject/apps/editor/tsconfig.json (Configured) + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true diff --git a/tests/baselines/reference/tsserver/projects/loading-files-with-correct-priority.js b/tests/baselines/reference/tsserver/projects/loading-files-with-correct-priority.js index c4a7a020c8f13..60bbca4946727 100644 --- a/tests/baselines/reference/tsserver/projects/loading-files-with-correct-priority.js +++ b/tests/baselines/reference/tsserver/projects/loading-files-with-correct-priority.js @@ -321,7 +321,6 @@ Info seq [hh:mm:ss:mss] request: Info seq [hh:mm:ss:mss] Invoking /a/tsconfig.json:: wildcard for open scriptInfo:: /a/main.js Info seq [hh:mm:ss:mss] Project: /a/tsconfig.json Detected output file: /a/main.js Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/main.js ProjectRootPath: undefined:: Result: /a/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, 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 fb214b1168e09..cabbdbce8069b 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 @@ -417,18 +417,42 @@ Info seq [hh:mm:ss:mss] event: "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/playground/tsconfig-json/tsconfig.json ProjectRootPath: undefined:: Result: /user/username/projects/myproject/playground/tsconfig.json +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) + /a/lib/lib.d.ts + /user/username/projects/myproject/playground/tests.ts + /user/username/projects/myproject/playground/tsconfig-json/src/src.ts + /user/username/projects/myproject/playground/tsconfig-json/tests/spec.ts + + + ../../../../../a/lib/lib.d.ts + Default library for target 'es5' + tests.ts + Matched by default include pattern '**/*' + tsconfig-json/src/src.ts + Matched by default include pattern '**/*' + tsconfig-json/tests/spec.ts + Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/playground 1 undefined Config: /user/username/projects/myproject/playground/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/playground 1 undefined Config: /user/username/projects/myproject/playground/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/playground/tsconfig.json 2000 undefined Project: /user/username/projects/myproject/playground/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/playground/node_modules/@types 1 undefined Project: /user/username/projects/myproject/playground/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/myproject/playground/node_modules/@types 1 undefined Project: /user/username/projects/myproject/playground/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/playground/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/playground/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/playground/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/playground/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/playground/tests.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/playground/tsconfig-json/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/playground/tsconfig-json/tests/spec.ts ProjectRootPath: undefined -Info seq [hh:mm:ss:mss] Projects: /user/username/projects/myproject/playground/tsconfig.json +Info seq [hh:mm:ss:mss] Projects: Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -455,54 +479,58 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: {} -/user/username/projects/myproject/playground/tests.ts: - {} /user/username/projects/myproject/playground/tsconfig-json/src/src.ts: {} /user/username/projects/myproject/playground/tsconfig-json/tsconfig.json: *new* {} -/user/username/projects/myproject/playground/tsconfig.json: - {} FsWatches *deleted*:: +/user/username/projects/myproject/playground/tests.ts: + {} /user/username/projects/myproject/playground/tsconfig-json/tests/spec.ts: {} +/user/username/projects/myproject/playground/tsconfig.json: + {} FsWatchesRecursive:: -/user/username/projects/myproject/playground: - {} /user/username/projects/myproject/playground/tsconfig-json/src: *new* {} +FsWatchesRecursive *deleted*:: +/user/username/projects/myproject/playground: + {} + Projects:: /user/username/projects/myproject/playground/tsconfig-json/tsconfig.json (Configured) *new* projectStateVersion: 1 projectProgramVersion: 1 -/user/username/projects/myproject/playground/tsconfig.json (Configured) *changed* + noOpenRef: true +/user/username/projects/myproject/playground/tsconfig.json (Configured) *deleted* projectStateVersion: 1 projectProgramVersion: 1 - noOpenRef: false *changed* + isClosed: true *changed* + noOpenRef: true ScriptInfos:: /a/lib/lib.d.ts *changed* version: Text-1 - containingProjects: 2 *changed* - /user/username/projects/myproject/playground/tsconfig.json + containingProjects: 1 *changed* /user/username/projects/myproject/playground/tsconfig-json/tsconfig.json *new* -/user/username/projects/myproject/playground/tests.ts + /user/username/projects/myproject/playground/tsconfig.json *deleted* +/user/username/projects/myproject/playground/tests.ts *deleted* version: SVC-1-0 - containingProjects: 1 - /user/username/projects/myproject/playground/tsconfig.json + containingProjects: 0 *changed* + /user/username/projects/myproject/playground/tsconfig.json *deleted* /user/username/projects/myproject/playground/tsconfig-json/src/src.ts *changed* version: Text-1 - containingProjects: 2 *changed* - /user/username/projects/myproject/playground/tsconfig.json + containingProjects: 1 *changed* /user/username/projects/myproject/playground/tsconfig-json/tsconfig.json *new* + /user/username/projects/myproject/playground/tsconfig.json *deleted* /user/username/projects/myproject/playground/tsconfig-json/tests/spec.ts (Open) *changed* open: true *changed* version: Text-1 - containingProjects: 1 - /user/username/projects/myproject/playground/tsconfig.json *default* + containingProjects: 0 *changed* + /user/username/projects/myproject/playground/tsconfig.json *deleted* Before request @@ -517,8 +545,59 @@ Info seq [hh:mm:ss:mss] request: "seq": 4, "type": "request" } -Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/myproject/playground/tsconfig-json/tests/spec.ts position 16 in project /user/username/projects/myproject/playground/tsconfig.json -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/playground/tsconfig-json/tests/spec.d.ts 2000 undefined Project: /user/username/projects/myproject/playground/tsconfig.json WatchType: Missing generated file +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/playground/tsconfig-json/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/playground/tsconfig-json/tests/spec.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/playground/tsconfig-json/tests/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/playground/tsconfig-json/tests/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/playground/tsconfig-json/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/playground/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/playground/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/playground/tsconfig-json/tests/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/playground/tsconfig-json/tests/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/playground/tsconfig-json/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/playground/tsconfig-json/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/playground/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/playground/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/playground/tsconfig-json/tests/spec.ts Text-1 "export function bar() { }" + + + ../../../../../../../a/lib/lib.d.ts + Default library for target 'es5' + spec.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/playground/tsconfig-json/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/playground/tsconfig-json/tests/spec.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] Finding references to /user/username/projects/myproject/playground/tsconfig-json/tests/spec.ts position 16 in project /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/playground/tsconfig-json/tests/spec.d.ts 2000 undefined Project: /dev/null/inferredProject1* WatchType: Missing generated file Info seq [hh:mm:ss:mss] response: { "response": { @@ -550,46 +629,73 @@ Info seq [hh:mm:ss:mss] response: "symbolStartOffset": 17, "symbolDisplayString": "function bar(): void" }, - "responseRequired": true + "responseRequired": true, + "performanceData": { + "updateGraphDurationMs": * + } } After request PolledWatches:: +/user/username/projects/myproject/jsconfig.json: *new* + {"pollingInterval":2000} /user/username/projects/myproject/node_modules/@types: {"pollingInterval":500} +/user/username/projects/myproject/playground/jsconfig.json: *new* + {"pollingInterval":2000} /user/username/projects/myproject/playground/node_modules/@types: {"pollingInterval":500} +/user/username/projects/myproject/playground/tsconfig-json/jsconfig.json: *new* + {"pollingInterval":2000} /user/username/projects/myproject/playground/tsconfig-json/node_modules/@types: {"pollingInterval":500} +/user/username/projects/myproject/playground/tsconfig-json/tests/jsconfig.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/playground/tsconfig-json/tests/node_modules/@types: *new* + {"pollingInterval":500} /user/username/projects/myproject/playground/tsconfig-json/tests/spec.d.ts: *new* {"pollingInterval":2000} +/user/username/projects/myproject/playground/tsconfig-json/tests/tsconfig.json: *new* + {"pollingInterval":2000} +/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/playground/tests.ts: - {} /user/username/projects/myproject/playground/tsconfig-json/src/src.ts: {} /user/username/projects/myproject/playground/tsconfig-json/tsconfig.json: {} -/user/username/projects/myproject/playground/tsconfig.json: +/user/username/projects/myproject/playground/tsconfig.json: *new* {} FsWatchesRecursive:: -/user/username/projects/myproject/playground: - {} /user/username/projects/myproject/playground/tsconfig-json/src: {} Projects:: -/user/username/projects/myproject/playground/tsconfig-json/tsconfig.json (Configured) +/dev/null/inferredProject1* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 -/user/username/projects/myproject/playground/tsconfig.json (Configured) *changed* +/user/username/projects/myproject/playground/tsconfig-json/tsconfig.json (Configured) projectStateVersion: 1 projectProgramVersion: 1 - documentPositionMappers: 1 *changed* - /user/username/projects/myproject/playground/tsconfig-json/tests/spec.d.ts: identitySourceMapConsumer *new* + noOpenRef: true + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /user/username/projects/myproject/playground/tsconfig-json/tsconfig.json + /dev/null/inferredProject1* *new* +/user/username/projects/myproject/playground/tsconfig-json/src/src.ts + version: Text-1 + containingProjects: 1 + /user/username/projects/myproject/playground/tsconfig-json/tsconfig.json +/user/username/projects/myproject/playground/tsconfig-json/tests/spec.ts (Open) *changed* + version: Text-1 + containingProjects: 1 *changed* + /dev/null/inferredProject1* *default* *new* 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 484d48f72910c..2c11118a42132 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 @@ -394,7 +394,6 @@ Info seq [hh:mm:ss:mss] request: } Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /a/b/commonFile2.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/commonFile2.ts ProjectRootPath: undefined:: Result: /a/b/tsconfig.json -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/unreachableDeclarations(preserveconstenums=false).errors.txt b/tests/baselines/reference/unreachableDeclarations(preserveconstenums=false).errors.txt new file mode 100644 index 0000000000000..fd7f5d66b9f4e --- /dev/null +++ b/tests/baselines/reference/unreachableDeclarations(preserveconstenums=false).errors.txt @@ -0,0 +1,137 @@ +unreachableDeclarations.ts(4,17): error TS2450: Enum 'EnumA' used before its declaration. +unreachableDeclarations.ts(14,5): error TS7027: Unreachable code detected. +unreachableDeclarations.ts(21,17): error TS2450: Enum 'EnumA' used before its declaration. +unreachableDeclarations.ts(29,5): error TS7027: Unreachable code detected. +unreachableDeclarations.ts(49,17): error TS2449: Class 'ClassA' used before its declaration. +unreachableDeclarations.ts(57,5): error TS7027: Unreachable code detected. +unreachableDeclarations.ts(63,14): error TS2450: Enum 'Bar' used before its declaration. +unreachableDeclarations.ts(64,14): error TS2448: Block-scoped variable 'blah' used before its declaration. +unreachableDeclarations.ts(64,14): error TS2454: Variable 'blah' is used before being assigned. +unreachableDeclarations.ts(65,18): error TS2449: Class 'Foo' used before its declaration. +unreachableDeclarations.ts(78,2): error TS7027: Unreachable code detected. +unreachableDeclarations.ts(84,2): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. + + +==== unreachableDeclarations.ts (12 errors) ==== + function func1() { + aFunc(); + + console.log(EnumA.Value); + ~~~~~ +!!! error TS2450: Enum 'EnumA' used before its declaration. +!!! related TS2728 unreachableDeclarations.ts:14:10: 'EnumA' is declared here. + console.log(EnumB.Value); + + return; + + function aFunc() { + console.log(EnumA.Value); + console.log(EnumB.Value); + } + + enum EnumA { Value } + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS7027: Unreachable code detected. + const enum EnumB { Value } + } + + function func2() { + aFunc(); + + console.log(EnumA.Value); + ~~~~~ +!!! error TS2450: Enum 'EnumA' used before its declaration. +!!! related TS2728 unreachableDeclarations.ts:29:10: 'EnumA' is declared here. + + return; + + function aFunc() { + console.log(EnumA.Value); + } + + enum EnumA { Value } + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS7027: Unreachable code detected. + } + + function func3() { + aFunc(); + + console.log(EnumB.Value); + + return; + + function aFunc() { + console.log(EnumB.Value); + } + + const enum EnumB { Value } + } + + function func4() { + aFunc(); + + console.log(ClassA.Value); + ~~~~~~ +!!! error TS2449: Class 'ClassA' used before its declaration. +!!! related TS2728 unreachableDeclarations.ts:57:11: 'ClassA' is declared here. + + return; + + function aFunc() { + console.log(ClassA.Value); + } + + class ClassA { static Value = 1234; } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS7027: Unreachable code detected. + } + + function func5() { + aFunc(); + + console.log(Bar.A); + ~~~ +!!! error TS2450: Enum 'Bar' used before its declaration. +!!! related TS2728 unreachableDeclarations.ts:80:7: 'Bar' is declared here. + console.log(blah.prop); + ~~~~ +!!! error TS2448: Block-scoped variable 'blah' used before its declaration. +!!! related TS2728 unreachableDeclarations.ts:78:8: 'blah' is declared here. + ~~~~ +!!! error TS2454: Variable 'blah' is used before being assigned. + console.log(new Foo()) + ~~~ +!!! error TS2449: Class 'Foo' used before its declaration. +!!! related TS2728 unreachableDeclarations.ts:82:8: 'Foo' is declared here. + console.log(Baz.value); + + + return; + + function aFunc() { + console.log(Bar.A); + console.log(blah.prop); + console.log(new Foo()) + console.log(Baz.value); + } + + const blah = { prop: 1234 }; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + enum Bar { A } + ~~~~~~~~~~~~~~~ + + + class Foo { x = 1234 } + ~~~~~~~~~~~~~~~~~~~~~~~ + + + namespace Baz { export const value = 1234 } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS7027: Unreachable code detected. + ~~~~~~~~~ +!!! error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. + } + \ No newline at end of file diff --git a/tests/baselines/reference/unreachableDeclarations(preserveconstenums=false).js b/tests/baselines/reference/unreachableDeclarations(preserveconstenums=false).js new file mode 100644 index 0000000000000..945f427dae8ce --- /dev/null +++ b/tests/baselines/reference/unreachableDeclarations(preserveconstenums=false).js @@ -0,0 +1,169 @@ +//// [tests/cases/compiler/unreachableDeclarations.ts] //// + +//// [unreachableDeclarations.ts] +function func1() { + aFunc(); + + console.log(EnumA.Value); + console.log(EnumB.Value); + + return; + + function aFunc() { + console.log(EnumA.Value); + console.log(EnumB.Value); + } + + enum EnumA { Value } + const enum EnumB { Value } +} + +function func2() { + aFunc(); + + console.log(EnumA.Value); + + return; + + function aFunc() { + console.log(EnumA.Value); + } + + enum EnumA { Value } +} + +function func3() { + aFunc(); + + console.log(EnumB.Value); + + return; + + function aFunc() { + console.log(EnumB.Value); + } + + const enum EnumB { Value } +} + +function func4() { + aFunc(); + + console.log(ClassA.Value); + + return; + + function aFunc() { + console.log(ClassA.Value); + } + + class ClassA { static Value = 1234; } +} + +function func5() { + aFunc(); + + console.log(Bar.A); + console.log(blah.prop); + console.log(new Foo()) + console.log(Baz.value); + + + return; + + function aFunc() { + console.log(Bar.A); + console.log(blah.prop); + console.log(new Foo()) + console.log(Baz.value); + } + + const blah = { prop: 1234 }; + + enum Bar { A } + + class Foo { x = 1234 } + + namespace Baz { export const value = 1234 } +} + + +//// [unreachableDeclarations.js] +"use strict"; +function func1() { + aFunc(); + console.log(EnumA.Value); + console.log(0 /* EnumB.Value */); + return; + function aFunc() { + console.log(EnumA.Value); + console.log(0 /* EnumB.Value */); + } + var EnumA; + (function (EnumA) { + EnumA[EnumA["Value"] = 0] = "Value"; + })(EnumA || (EnumA = {})); +} +function func2() { + aFunc(); + console.log(EnumA.Value); + return; + function aFunc() { + console.log(EnumA.Value); + } + var EnumA; + (function (EnumA) { + EnumA[EnumA["Value"] = 0] = "Value"; + })(EnumA || (EnumA = {})); +} +function func3() { + aFunc(); + console.log(0 /* EnumB.Value */); + return; + function aFunc() { + console.log(0 /* EnumB.Value */); + } +} +function func4() { + aFunc(); + console.log(ClassA.Value); + return; + function aFunc() { + console.log(ClassA.Value); + } + var ClassA = /** @class */ (function () { + function ClassA() { + } + ClassA.Value = 1234; + return ClassA; + }()); +} +function func5() { + aFunc(); + console.log(Bar.A); + console.log(blah.prop); + console.log(new Foo()); + console.log(Baz.value); + return; + function aFunc() { + console.log(Bar.A); + console.log(blah.prop); + console.log(new Foo()); + console.log(Baz.value); + } + var blah = { prop: 1234 }; + var Bar; + (function (Bar) { + Bar[Bar["A"] = 0] = "A"; + })(Bar || (Bar = {})); + var Foo = /** @class */ (function () { + function Foo() { + this.x = 1234; + } + return Foo; + }()); + var Baz; + (function (Baz) { + Baz.value = 1234; + })(Baz || (Baz = {})); +} diff --git a/tests/baselines/reference/unreachableDeclarations(preserveconstenums=false).symbols b/tests/baselines/reference/unreachableDeclarations(preserveconstenums=false).symbols new file mode 100644 index 0000000000000..20cadc7d77447 --- /dev/null +++ b/tests/baselines/reference/unreachableDeclarations(preserveconstenums=false).symbols @@ -0,0 +1,245 @@ +//// [tests/cases/compiler/unreachableDeclarations.ts] //// + +=== unreachableDeclarations.ts === +function func1() { +>func1 : Symbol(func1, Decl(unreachableDeclarations.ts, 0, 0)) + + aFunc(); +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 6, 11)) + + console.log(EnumA.Value); +>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, --, --)) +>EnumA.Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 13, 16)) +>EnumA : Symbol(EnumA, Decl(unreachableDeclarations.ts, 11, 5)) +>Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 13, 16)) + + console.log(EnumB.Value); +>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, --, --)) +>EnumB.Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 14, 22)) +>EnumB : Symbol(EnumB, Decl(unreachableDeclarations.ts, 13, 24)) +>Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 14, 22)) + + return; + + function aFunc() { +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 6, 11)) + + console.log(EnumA.Value); +>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, --, --)) +>EnumA.Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 13, 16)) +>EnumA : Symbol(EnumA, Decl(unreachableDeclarations.ts, 11, 5)) +>Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 13, 16)) + + console.log(EnumB.Value); +>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, --, --)) +>EnumB.Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 14, 22)) +>EnumB : Symbol(EnumB, Decl(unreachableDeclarations.ts, 13, 24)) +>Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 14, 22)) + } + + enum EnumA { Value } +>EnumA : Symbol(EnumA, Decl(unreachableDeclarations.ts, 11, 5)) +>Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 13, 16)) + + const enum EnumB { Value } +>EnumB : Symbol(EnumB, Decl(unreachableDeclarations.ts, 13, 24)) +>Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 14, 22)) +} + +function func2() { +>func2 : Symbol(func2, Decl(unreachableDeclarations.ts, 15, 1)) + + aFunc(); +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 22, 11)) + + console.log(EnumA.Value); +>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, --, --)) +>EnumA.Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 28, 16)) +>EnumA : Symbol(EnumA, Decl(unreachableDeclarations.ts, 26, 5)) +>Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 28, 16)) + + return; + + function aFunc() { +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 22, 11)) + + console.log(EnumA.Value); +>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, --, --)) +>EnumA.Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 28, 16)) +>EnumA : Symbol(EnumA, Decl(unreachableDeclarations.ts, 26, 5)) +>Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 28, 16)) + } + + enum EnumA { Value } +>EnumA : Symbol(EnumA, Decl(unreachableDeclarations.ts, 26, 5)) +>Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 28, 16)) +} + +function func3() { +>func3 : Symbol(func3, Decl(unreachableDeclarations.ts, 29, 1)) + + aFunc(); +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 36, 11)) + + console.log(EnumB.Value); +>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, --, --)) +>EnumB.Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 42, 22)) +>EnumB : Symbol(EnumB, Decl(unreachableDeclarations.ts, 40, 5)) +>Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 42, 22)) + + return; + + function aFunc() { +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 36, 11)) + + console.log(EnumB.Value); +>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, --, --)) +>EnumB.Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 42, 22)) +>EnumB : Symbol(EnumB, Decl(unreachableDeclarations.ts, 40, 5)) +>Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 42, 22)) + } + + const enum EnumB { Value } +>EnumB : Symbol(EnumB, Decl(unreachableDeclarations.ts, 40, 5)) +>Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 42, 22)) +} + +function func4() { +>func4 : Symbol(func4, Decl(unreachableDeclarations.ts, 43, 1)) + + aFunc(); +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 50, 11)) + + console.log(ClassA.Value); +>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, --, --)) +>ClassA.Value : Symbol(ClassA.Value, Decl(unreachableDeclarations.ts, 56, 18)) +>ClassA : Symbol(ClassA, Decl(unreachableDeclarations.ts, 54, 5)) +>Value : Symbol(ClassA.Value, Decl(unreachableDeclarations.ts, 56, 18)) + + return; + + function aFunc() { +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 50, 11)) + + console.log(ClassA.Value); +>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, --, --)) +>ClassA.Value : Symbol(ClassA.Value, Decl(unreachableDeclarations.ts, 56, 18)) +>ClassA : Symbol(ClassA, Decl(unreachableDeclarations.ts, 54, 5)) +>Value : Symbol(ClassA.Value, Decl(unreachableDeclarations.ts, 56, 18)) + } + + class ClassA { static Value = 1234; } +>ClassA : Symbol(ClassA, Decl(unreachableDeclarations.ts, 54, 5)) +>Value : Symbol(ClassA.Value, Decl(unreachableDeclarations.ts, 56, 18)) +} + +function func5() { +>func5 : Symbol(func5, Decl(unreachableDeclarations.ts, 57, 1)) + + aFunc(); +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 68, 8)) + + console.log(Bar.A); +>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, --, --)) +>Bar.A : Symbol(Bar.A, Decl(unreachableDeclarations.ts, 79, 11)) +>Bar : Symbol(Bar, Decl(unreachableDeclarations.ts, 77, 29)) +>A : Symbol(Bar.A, Decl(unreachableDeclarations.ts, 79, 11)) + + console.log(blah.prop); +>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, --, --)) +>blah.prop : Symbol(prop, Decl(unreachableDeclarations.ts, 77, 15)) +>blah : Symbol(blah, Decl(unreachableDeclarations.ts, 77, 6)) +>prop : Symbol(prop, Decl(unreachableDeclarations.ts, 77, 15)) + + console.log(new Foo()) +>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, --, --)) +>Foo : Symbol(Foo, Decl(unreachableDeclarations.ts, 79, 15)) + + console.log(Baz.value); +>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, --, --)) +>Baz.value : Symbol(Baz.value, Decl(unreachableDeclarations.ts, 83, 29)) +>Baz : Symbol(Baz, Decl(unreachableDeclarations.ts, 81, 23)) +>value : Symbol(Baz.value, Decl(unreachableDeclarations.ts, 83, 29)) + + + return; + + function aFunc() { +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 68, 8)) + + console.log(Bar.A); +>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, --, --)) +>Bar.A : Symbol(Bar.A, Decl(unreachableDeclarations.ts, 79, 11)) +>Bar : Symbol(Bar, Decl(unreachableDeclarations.ts, 77, 29)) +>A : Symbol(Bar.A, Decl(unreachableDeclarations.ts, 79, 11)) + + console.log(blah.prop); +>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, --, --)) +>blah.prop : Symbol(prop, Decl(unreachableDeclarations.ts, 77, 15)) +>blah : Symbol(blah, Decl(unreachableDeclarations.ts, 77, 6)) +>prop : Symbol(prop, Decl(unreachableDeclarations.ts, 77, 15)) + + console.log(new Foo()) +>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, --, --)) +>Foo : Symbol(Foo, Decl(unreachableDeclarations.ts, 79, 15)) + + console.log(Baz.value); +>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, --, --)) +>Baz.value : Symbol(Baz.value, Decl(unreachableDeclarations.ts, 83, 29)) +>Baz : Symbol(Baz, Decl(unreachableDeclarations.ts, 81, 23)) +>value : Symbol(Baz.value, Decl(unreachableDeclarations.ts, 83, 29)) + } + + const blah = { prop: 1234 }; +>blah : Symbol(blah, Decl(unreachableDeclarations.ts, 77, 6)) +>prop : Symbol(prop, Decl(unreachableDeclarations.ts, 77, 15)) + + enum Bar { A } +>Bar : Symbol(Bar, Decl(unreachableDeclarations.ts, 77, 29)) +>A : Symbol(Bar.A, Decl(unreachableDeclarations.ts, 79, 11)) + + class Foo { x = 1234 } +>Foo : Symbol(Foo, Decl(unreachableDeclarations.ts, 79, 15)) +>x : Symbol(Foo.x, Decl(unreachableDeclarations.ts, 81, 12)) + + namespace Baz { export const value = 1234 } +>Baz : Symbol(Baz, Decl(unreachableDeclarations.ts, 81, 23)) +>value : Symbol(value, Decl(unreachableDeclarations.ts, 83, 29)) +} + diff --git a/tests/baselines/reference/unreachableDeclarations(preserveconstenums=false).types b/tests/baselines/reference/unreachableDeclarations(preserveconstenums=false).types new file mode 100644 index 0000000000000..9a54857c8d2ee --- /dev/null +++ b/tests/baselines/reference/unreachableDeclarations(preserveconstenums=false).types @@ -0,0 +1,442 @@ +//// [tests/cases/compiler/unreachableDeclarations.ts] //// + +=== unreachableDeclarations.ts === +function func1() { +>func1 : () => void +> : ^^^^^^^^^^ + + aFunc(); +>aFunc() : void +> : ^^^^ +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(EnumA.Value); +>console.log(EnumA.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>EnumA.Value : EnumA +> : ^^^^^ +>EnumA : typeof EnumA +> : ^^^^^^^^^^^^ +>Value : EnumA +> : ^^^^^ + + console.log(EnumB.Value); +>console.log(EnumB.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>EnumB.Value : EnumB +> : ^^^^^ +>EnumB : typeof EnumB +> : ^^^^^^^^^^^^ +>Value : EnumB +> : ^^^^^ + + return; + + function aFunc() { +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(EnumA.Value); +>console.log(EnumA.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>EnumA.Value : EnumA +> : ^^^^^ +>EnumA : typeof EnumA +> : ^^^^^^^^^^^^ +>Value : EnumA +> : ^^^^^ + + console.log(EnumB.Value); +>console.log(EnumB.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>EnumB.Value : EnumB +> : ^^^^^ +>EnumB : typeof EnumB +> : ^^^^^^^^^^^^ +>Value : EnumB +> : ^^^^^ + } + + enum EnumA { Value } +>EnumA : EnumA +> : ^^^^^ +>Value : EnumA.Value +> : ^^^^^^^^^^^ + + const enum EnumB { Value } +>EnumB : EnumB +> : ^^^^^ +>Value : EnumB.Value +> : ^^^^^^^^^^^ +} + +function func2() { +>func2 : () => void +> : ^^^^^^^^^^ + + aFunc(); +>aFunc() : void +> : ^^^^ +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(EnumA.Value); +>console.log(EnumA.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>EnumA.Value : EnumA +> : ^^^^^ +>EnumA : typeof EnumA +> : ^^^^^^^^^^^^ +>Value : EnumA +> : ^^^^^ + + return; + + function aFunc() { +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(EnumA.Value); +>console.log(EnumA.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>EnumA.Value : EnumA +> : ^^^^^ +>EnumA : typeof EnumA +> : ^^^^^^^^^^^^ +>Value : EnumA +> : ^^^^^ + } + + enum EnumA { Value } +>EnumA : EnumA +> : ^^^^^ +>Value : EnumA.Value +> : ^^^^^^^^^^^ +} + +function func3() { +>func3 : () => void +> : ^^^^^^^^^^ + + aFunc(); +>aFunc() : void +> : ^^^^ +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(EnumB.Value); +>console.log(EnumB.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>EnumB.Value : EnumB +> : ^^^^^ +>EnumB : typeof EnumB +> : ^^^^^^^^^^^^ +>Value : EnumB +> : ^^^^^ + + return; + + function aFunc() { +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(EnumB.Value); +>console.log(EnumB.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>EnumB.Value : EnumB +> : ^^^^^ +>EnumB : typeof EnumB +> : ^^^^^^^^^^^^ +>Value : EnumB +> : ^^^^^ + } + + const enum EnumB { Value } +>EnumB : EnumB +> : ^^^^^ +>Value : EnumB.Value +> : ^^^^^^^^^^^ +} + +function func4() { +>func4 : () => void +> : ^^^^^^^^^^ + + aFunc(); +>aFunc() : void +> : ^^^^ +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(ClassA.Value); +>console.log(ClassA.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>ClassA.Value : number +> : ^^^^^^ +>ClassA : typeof ClassA +> : ^^^^^^^^^^^^^ +>Value : number +> : ^^^^^^ + + return; + + function aFunc() { +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(ClassA.Value); +>console.log(ClassA.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>ClassA.Value : number +> : ^^^^^^ +>ClassA : typeof ClassA +> : ^^^^^^^^^^^^^ +>Value : number +> : ^^^^^^ + } + + class ClassA { static Value = 1234; } +>ClassA : ClassA +> : ^^^^^^ +>Value : number +> : ^^^^^^ +>1234 : 1234 +> : ^^^^ +} + +function func5() { +>func5 : () => void +> : ^^^^^^^^^^ + + aFunc(); +>aFunc() : void +> : ^^^^ +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(Bar.A); +>console.log(Bar.A) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>Bar.A : Bar +> : ^^^ +>Bar : typeof Bar +> : ^^^^^^^^^^ +>A : Bar +> : ^^^ + + console.log(blah.prop); +>console.log(blah.prop) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>blah.prop : number +> : ^^^^^^ +>blah : { prop: number; } +> : ^^^^^^^^^^^^^^^^^ +>prop : number +> : ^^^^^^ + + console.log(new Foo()) +>console.log(new Foo()) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>new Foo() : Foo +> : ^^^ +>Foo : typeof Foo +> : ^^^^^^^^^^ + + console.log(Baz.value); +>console.log(Baz.value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>Baz.value : 1234 +> : ^^^^ +>Baz : typeof Baz +> : ^^^^^^^^^^ +>value : 1234 +> : ^^^^ + + + return; + + function aFunc() { +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(Bar.A); +>console.log(Bar.A) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>Bar.A : Bar +> : ^^^ +>Bar : typeof Bar +> : ^^^^^^^^^^ +>A : Bar +> : ^^^ + + console.log(blah.prop); +>console.log(blah.prop) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>blah.prop : number +> : ^^^^^^ +>blah : { prop: number; } +> : ^^^^^^^^^^^^^^^^^ +>prop : number +> : ^^^^^^ + + console.log(new Foo()) +>console.log(new Foo()) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>new Foo() : Foo +> : ^^^ +>Foo : typeof Foo +> : ^^^^^^^^^^ + + console.log(Baz.value); +>console.log(Baz.value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>Baz.value : 1234 +> : ^^^^ +>Baz : typeof Baz +> : ^^^^^^^^^^ +>value : 1234 +> : ^^^^ + } + + const blah = { prop: 1234 }; +>blah : { prop: number; } +> : ^^^^^^^^^^^^^^^^^ +>{ prop: 1234 } : { prop: number; } +> : ^^^^^^^^^^^^^^^^^ +>prop : number +> : ^^^^^^ +>1234 : 1234 +> : ^^^^ + + enum Bar { A } +>Bar : Bar +> : ^^^ +>A : Bar.A +> : ^^^^^ + + class Foo { x = 1234 } +>Foo : Foo +> : ^^^ +>x : number +> : ^^^^^^ +>1234 : 1234 +> : ^^^^ + + namespace Baz { export const value = 1234 } +>Baz : typeof Baz +> : ^^^^^^^^^^ +>value : 1234 +> : ^^^^ +>1234 : 1234 +> : ^^^^ +} + diff --git a/tests/baselines/reference/unreachableDeclarations(preserveconstenums=true).errors.txt b/tests/baselines/reference/unreachableDeclarations(preserveconstenums=true).errors.txt new file mode 100644 index 0000000000000..a648a0d76653a --- /dev/null +++ b/tests/baselines/reference/unreachableDeclarations(preserveconstenums=true).errors.txt @@ -0,0 +1,141 @@ +unreachableDeclarations.ts(4,17): error TS2450: Enum 'EnumA' used before its declaration. +unreachableDeclarations.ts(14,5): error TS7027: Unreachable code detected. +unreachableDeclarations.ts(21,17): error TS2450: Enum 'EnumA' used before its declaration. +unreachableDeclarations.ts(29,5): error TS7027: Unreachable code detected. +unreachableDeclarations.ts(43,5): error TS7027: Unreachable code detected. +unreachableDeclarations.ts(49,17): error TS2449: Class 'ClassA' used before its declaration. +unreachableDeclarations.ts(57,5): error TS7027: Unreachable code detected. +unreachableDeclarations.ts(63,14): error TS2450: Enum 'Bar' used before its declaration. +unreachableDeclarations.ts(64,14): error TS2448: Block-scoped variable 'blah' used before its declaration. +unreachableDeclarations.ts(64,14): error TS2454: Variable 'blah' is used before being assigned. +unreachableDeclarations.ts(65,18): error TS2449: Class 'Foo' used before its declaration. +unreachableDeclarations.ts(78,2): error TS7027: Unreachable code detected. +unreachableDeclarations.ts(84,2): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. + + +==== unreachableDeclarations.ts (13 errors) ==== + function func1() { + aFunc(); + + console.log(EnumA.Value); + ~~~~~ +!!! error TS2450: Enum 'EnumA' used before its declaration. +!!! related TS2728 unreachableDeclarations.ts:14:10: 'EnumA' is declared here. + console.log(EnumB.Value); + + return; + + function aFunc() { + console.log(EnumA.Value); + console.log(EnumB.Value); + } + + enum EnumA { Value } + ~~~~~~~~~~~~~~~~~~~~ + const enum EnumB { Value } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS7027: Unreachable code detected. + } + + function func2() { + aFunc(); + + console.log(EnumA.Value); + ~~~~~ +!!! error TS2450: Enum 'EnumA' used before its declaration. +!!! related TS2728 unreachableDeclarations.ts:29:10: 'EnumA' is declared here. + + return; + + function aFunc() { + console.log(EnumA.Value); + } + + enum EnumA { Value } + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS7027: Unreachable code detected. + } + + function func3() { + aFunc(); + + console.log(EnumB.Value); + + return; + + function aFunc() { + console.log(EnumB.Value); + } + + const enum EnumB { Value } + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS7027: Unreachable code detected. + } + + function func4() { + aFunc(); + + console.log(ClassA.Value); + ~~~~~~ +!!! error TS2449: Class 'ClassA' used before its declaration. +!!! related TS2728 unreachableDeclarations.ts:57:11: 'ClassA' is declared here. + + return; + + function aFunc() { + console.log(ClassA.Value); + } + + class ClassA { static Value = 1234; } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS7027: Unreachable code detected. + } + + function func5() { + aFunc(); + + console.log(Bar.A); + ~~~ +!!! error TS2450: Enum 'Bar' used before its declaration. +!!! related TS2728 unreachableDeclarations.ts:80:7: 'Bar' is declared here. + console.log(blah.prop); + ~~~~ +!!! error TS2448: Block-scoped variable 'blah' used before its declaration. +!!! related TS2728 unreachableDeclarations.ts:78:8: 'blah' is declared here. + ~~~~ +!!! error TS2454: Variable 'blah' is used before being assigned. + console.log(new Foo()) + ~~~ +!!! error TS2449: Class 'Foo' used before its declaration. +!!! related TS2728 unreachableDeclarations.ts:82:8: 'Foo' is declared here. + console.log(Baz.value); + + + return; + + function aFunc() { + console.log(Bar.A); + console.log(blah.prop); + console.log(new Foo()) + console.log(Baz.value); + } + + const blah = { prop: 1234 }; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + enum Bar { A } + ~~~~~~~~~~~~~~~ + + + class Foo { x = 1234 } + ~~~~~~~~~~~~~~~~~~~~~~~ + + + namespace Baz { export const value = 1234 } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS7027: Unreachable code detected. + ~~~~~~~~~ +!!! error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. + } + \ No newline at end of file diff --git a/tests/baselines/reference/unreachableDeclarations(preserveconstenums=true).js b/tests/baselines/reference/unreachableDeclarations(preserveconstenums=true).js new file mode 100644 index 0000000000000..1433be8a790eb --- /dev/null +++ b/tests/baselines/reference/unreachableDeclarations(preserveconstenums=true).js @@ -0,0 +1,177 @@ +//// [tests/cases/compiler/unreachableDeclarations.ts] //// + +//// [unreachableDeclarations.ts] +function func1() { + aFunc(); + + console.log(EnumA.Value); + console.log(EnumB.Value); + + return; + + function aFunc() { + console.log(EnumA.Value); + console.log(EnumB.Value); + } + + enum EnumA { Value } + const enum EnumB { Value } +} + +function func2() { + aFunc(); + + console.log(EnumA.Value); + + return; + + function aFunc() { + console.log(EnumA.Value); + } + + enum EnumA { Value } +} + +function func3() { + aFunc(); + + console.log(EnumB.Value); + + return; + + function aFunc() { + console.log(EnumB.Value); + } + + const enum EnumB { Value } +} + +function func4() { + aFunc(); + + console.log(ClassA.Value); + + return; + + function aFunc() { + console.log(ClassA.Value); + } + + class ClassA { static Value = 1234; } +} + +function func5() { + aFunc(); + + console.log(Bar.A); + console.log(blah.prop); + console.log(new Foo()) + console.log(Baz.value); + + + return; + + function aFunc() { + console.log(Bar.A); + console.log(blah.prop); + console.log(new Foo()) + console.log(Baz.value); + } + + const blah = { prop: 1234 }; + + enum Bar { A } + + class Foo { x = 1234 } + + namespace Baz { export const value = 1234 } +} + + +//// [unreachableDeclarations.js] +"use strict"; +function func1() { + aFunc(); + console.log(EnumA.Value); + console.log(0 /* EnumB.Value */); + return; + function aFunc() { + console.log(EnumA.Value); + console.log(0 /* EnumB.Value */); + } + var EnumA; + (function (EnumA) { + EnumA[EnumA["Value"] = 0] = "Value"; + })(EnumA || (EnumA = {})); + var EnumB; + (function (EnumB) { + EnumB[EnumB["Value"] = 0] = "Value"; + })(EnumB || (EnumB = {})); +} +function func2() { + aFunc(); + console.log(EnumA.Value); + return; + function aFunc() { + console.log(EnumA.Value); + } + var EnumA; + (function (EnumA) { + EnumA[EnumA["Value"] = 0] = "Value"; + })(EnumA || (EnumA = {})); +} +function func3() { + aFunc(); + console.log(0 /* EnumB.Value */); + return; + function aFunc() { + console.log(0 /* EnumB.Value */); + } + var EnumB; + (function (EnumB) { + EnumB[EnumB["Value"] = 0] = "Value"; + })(EnumB || (EnumB = {})); +} +function func4() { + aFunc(); + console.log(ClassA.Value); + return; + function aFunc() { + console.log(ClassA.Value); + } + var ClassA = /** @class */ (function () { + function ClassA() { + } + ClassA.Value = 1234; + return ClassA; + }()); +} +function func5() { + aFunc(); + console.log(Bar.A); + console.log(blah.prop); + console.log(new Foo()); + console.log(Baz.value); + return; + function aFunc() { + console.log(Bar.A); + console.log(blah.prop); + console.log(new Foo()); + console.log(Baz.value); + } + var blah = { prop: 1234 }; + var Bar; + (function (Bar) { + Bar[Bar["A"] = 0] = "A"; + })(Bar || (Bar = {})); + var Foo = /** @class */ (function () { + function Foo() { + this.x = 1234; + } + return Foo; + }()); + var Baz; + (function (Baz) { + Baz.value = 1234; + })(Baz || (Baz = {})); +} diff --git a/tests/baselines/reference/unreachableDeclarations(preserveconstenums=true).symbols b/tests/baselines/reference/unreachableDeclarations(preserveconstenums=true).symbols new file mode 100644 index 0000000000000..20cadc7d77447 --- /dev/null +++ b/tests/baselines/reference/unreachableDeclarations(preserveconstenums=true).symbols @@ -0,0 +1,245 @@ +//// [tests/cases/compiler/unreachableDeclarations.ts] //// + +=== unreachableDeclarations.ts === +function func1() { +>func1 : Symbol(func1, Decl(unreachableDeclarations.ts, 0, 0)) + + aFunc(); +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 6, 11)) + + console.log(EnumA.Value); +>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, --, --)) +>EnumA.Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 13, 16)) +>EnumA : Symbol(EnumA, Decl(unreachableDeclarations.ts, 11, 5)) +>Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 13, 16)) + + console.log(EnumB.Value); +>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, --, --)) +>EnumB.Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 14, 22)) +>EnumB : Symbol(EnumB, Decl(unreachableDeclarations.ts, 13, 24)) +>Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 14, 22)) + + return; + + function aFunc() { +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 6, 11)) + + console.log(EnumA.Value); +>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, --, --)) +>EnumA.Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 13, 16)) +>EnumA : Symbol(EnumA, Decl(unreachableDeclarations.ts, 11, 5)) +>Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 13, 16)) + + console.log(EnumB.Value); +>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, --, --)) +>EnumB.Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 14, 22)) +>EnumB : Symbol(EnumB, Decl(unreachableDeclarations.ts, 13, 24)) +>Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 14, 22)) + } + + enum EnumA { Value } +>EnumA : Symbol(EnumA, Decl(unreachableDeclarations.ts, 11, 5)) +>Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 13, 16)) + + const enum EnumB { Value } +>EnumB : Symbol(EnumB, Decl(unreachableDeclarations.ts, 13, 24)) +>Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 14, 22)) +} + +function func2() { +>func2 : Symbol(func2, Decl(unreachableDeclarations.ts, 15, 1)) + + aFunc(); +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 22, 11)) + + console.log(EnumA.Value); +>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, --, --)) +>EnumA.Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 28, 16)) +>EnumA : Symbol(EnumA, Decl(unreachableDeclarations.ts, 26, 5)) +>Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 28, 16)) + + return; + + function aFunc() { +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 22, 11)) + + console.log(EnumA.Value); +>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, --, --)) +>EnumA.Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 28, 16)) +>EnumA : Symbol(EnumA, Decl(unreachableDeclarations.ts, 26, 5)) +>Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 28, 16)) + } + + enum EnumA { Value } +>EnumA : Symbol(EnumA, Decl(unreachableDeclarations.ts, 26, 5)) +>Value : Symbol(EnumA.Value, Decl(unreachableDeclarations.ts, 28, 16)) +} + +function func3() { +>func3 : Symbol(func3, Decl(unreachableDeclarations.ts, 29, 1)) + + aFunc(); +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 36, 11)) + + console.log(EnumB.Value); +>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, --, --)) +>EnumB.Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 42, 22)) +>EnumB : Symbol(EnumB, Decl(unreachableDeclarations.ts, 40, 5)) +>Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 42, 22)) + + return; + + function aFunc() { +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 36, 11)) + + console.log(EnumB.Value); +>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, --, --)) +>EnumB.Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 42, 22)) +>EnumB : Symbol(EnumB, Decl(unreachableDeclarations.ts, 40, 5)) +>Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 42, 22)) + } + + const enum EnumB { Value } +>EnumB : Symbol(EnumB, Decl(unreachableDeclarations.ts, 40, 5)) +>Value : Symbol(EnumB.Value, Decl(unreachableDeclarations.ts, 42, 22)) +} + +function func4() { +>func4 : Symbol(func4, Decl(unreachableDeclarations.ts, 43, 1)) + + aFunc(); +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 50, 11)) + + console.log(ClassA.Value); +>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, --, --)) +>ClassA.Value : Symbol(ClassA.Value, Decl(unreachableDeclarations.ts, 56, 18)) +>ClassA : Symbol(ClassA, Decl(unreachableDeclarations.ts, 54, 5)) +>Value : Symbol(ClassA.Value, Decl(unreachableDeclarations.ts, 56, 18)) + + return; + + function aFunc() { +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 50, 11)) + + console.log(ClassA.Value); +>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, --, --)) +>ClassA.Value : Symbol(ClassA.Value, Decl(unreachableDeclarations.ts, 56, 18)) +>ClassA : Symbol(ClassA, Decl(unreachableDeclarations.ts, 54, 5)) +>Value : Symbol(ClassA.Value, Decl(unreachableDeclarations.ts, 56, 18)) + } + + class ClassA { static Value = 1234; } +>ClassA : Symbol(ClassA, Decl(unreachableDeclarations.ts, 54, 5)) +>Value : Symbol(ClassA.Value, Decl(unreachableDeclarations.ts, 56, 18)) +} + +function func5() { +>func5 : Symbol(func5, Decl(unreachableDeclarations.ts, 57, 1)) + + aFunc(); +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 68, 8)) + + console.log(Bar.A); +>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, --, --)) +>Bar.A : Symbol(Bar.A, Decl(unreachableDeclarations.ts, 79, 11)) +>Bar : Symbol(Bar, Decl(unreachableDeclarations.ts, 77, 29)) +>A : Symbol(Bar.A, Decl(unreachableDeclarations.ts, 79, 11)) + + console.log(blah.prop); +>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, --, --)) +>blah.prop : Symbol(prop, Decl(unreachableDeclarations.ts, 77, 15)) +>blah : Symbol(blah, Decl(unreachableDeclarations.ts, 77, 6)) +>prop : Symbol(prop, Decl(unreachableDeclarations.ts, 77, 15)) + + console.log(new Foo()) +>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, --, --)) +>Foo : Symbol(Foo, Decl(unreachableDeclarations.ts, 79, 15)) + + console.log(Baz.value); +>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, --, --)) +>Baz.value : Symbol(Baz.value, Decl(unreachableDeclarations.ts, 83, 29)) +>Baz : Symbol(Baz, Decl(unreachableDeclarations.ts, 81, 23)) +>value : Symbol(Baz.value, Decl(unreachableDeclarations.ts, 83, 29)) + + + return; + + function aFunc() { +>aFunc : Symbol(aFunc, Decl(unreachableDeclarations.ts, 68, 8)) + + console.log(Bar.A); +>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, --, --)) +>Bar.A : Symbol(Bar.A, Decl(unreachableDeclarations.ts, 79, 11)) +>Bar : Symbol(Bar, Decl(unreachableDeclarations.ts, 77, 29)) +>A : Symbol(Bar.A, Decl(unreachableDeclarations.ts, 79, 11)) + + console.log(blah.prop); +>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, --, --)) +>blah.prop : Symbol(prop, Decl(unreachableDeclarations.ts, 77, 15)) +>blah : Symbol(blah, Decl(unreachableDeclarations.ts, 77, 6)) +>prop : Symbol(prop, Decl(unreachableDeclarations.ts, 77, 15)) + + console.log(new Foo()) +>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, --, --)) +>Foo : Symbol(Foo, Decl(unreachableDeclarations.ts, 79, 15)) + + console.log(Baz.value); +>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, --, --)) +>Baz.value : Symbol(Baz.value, Decl(unreachableDeclarations.ts, 83, 29)) +>Baz : Symbol(Baz, Decl(unreachableDeclarations.ts, 81, 23)) +>value : Symbol(Baz.value, Decl(unreachableDeclarations.ts, 83, 29)) + } + + const blah = { prop: 1234 }; +>blah : Symbol(blah, Decl(unreachableDeclarations.ts, 77, 6)) +>prop : Symbol(prop, Decl(unreachableDeclarations.ts, 77, 15)) + + enum Bar { A } +>Bar : Symbol(Bar, Decl(unreachableDeclarations.ts, 77, 29)) +>A : Symbol(Bar.A, Decl(unreachableDeclarations.ts, 79, 11)) + + class Foo { x = 1234 } +>Foo : Symbol(Foo, Decl(unreachableDeclarations.ts, 79, 15)) +>x : Symbol(Foo.x, Decl(unreachableDeclarations.ts, 81, 12)) + + namespace Baz { export const value = 1234 } +>Baz : Symbol(Baz, Decl(unreachableDeclarations.ts, 81, 23)) +>value : Symbol(value, Decl(unreachableDeclarations.ts, 83, 29)) +} + diff --git a/tests/baselines/reference/unreachableDeclarations(preserveconstenums=true).types b/tests/baselines/reference/unreachableDeclarations(preserveconstenums=true).types new file mode 100644 index 0000000000000..9a54857c8d2ee --- /dev/null +++ b/tests/baselines/reference/unreachableDeclarations(preserveconstenums=true).types @@ -0,0 +1,442 @@ +//// [tests/cases/compiler/unreachableDeclarations.ts] //// + +=== unreachableDeclarations.ts === +function func1() { +>func1 : () => void +> : ^^^^^^^^^^ + + aFunc(); +>aFunc() : void +> : ^^^^ +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(EnumA.Value); +>console.log(EnumA.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>EnumA.Value : EnumA +> : ^^^^^ +>EnumA : typeof EnumA +> : ^^^^^^^^^^^^ +>Value : EnumA +> : ^^^^^ + + console.log(EnumB.Value); +>console.log(EnumB.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>EnumB.Value : EnumB +> : ^^^^^ +>EnumB : typeof EnumB +> : ^^^^^^^^^^^^ +>Value : EnumB +> : ^^^^^ + + return; + + function aFunc() { +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(EnumA.Value); +>console.log(EnumA.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>EnumA.Value : EnumA +> : ^^^^^ +>EnumA : typeof EnumA +> : ^^^^^^^^^^^^ +>Value : EnumA +> : ^^^^^ + + console.log(EnumB.Value); +>console.log(EnumB.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>EnumB.Value : EnumB +> : ^^^^^ +>EnumB : typeof EnumB +> : ^^^^^^^^^^^^ +>Value : EnumB +> : ^^^^^ + } + + enum EnumA { Value } +>EnumA : EnumA +> : ^^^^^ +>Value : EnumA.Value +> : ^^^^^^^^^^^ + + const enum EnumB { Value } +>EnumB : EnumB +> : ^^^^^ +>Value : EnumB.Value +> : ^^^^^^^^^^^ +} + +function func2() { +>func2 : () => void +> : ^^^^^^^^^^ + + aFunc(); +>aFunc() : void +> : ^^^^ +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(EnumA.Value); +>console.log(EnumA.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>EnumA.Value : EnumA +> : ^^^^^ +>EnumA : typeof EnumA +> : ^^^^^^^^^^^^ +>Value : EnumA +> : ^^^^^ + + return; + + function aFunc() { +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(EnumA.Value); +>console.log(EnumA.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>EnumA.Value : EnumA +> : ^^^^^ +>EnumA : typeof EnumA +> : ^^^^^^^^^^^^ +>Value : EnumA +> : ^^^^^ + } + + enum EnumA { Value } +>EnumA : EnumA +> : ^^^^^ +>Value : EnumA.Value +> : ^^^^^^^^^^^ +} + +function func3() { +>func3 : () => void +> : ^^^^^^^^^^ + + aFunc(); +>aFunc() : void +> : ^^^^ +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(EnumB.Value); +>console.log(EnumB.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>EnumB.Value : EnumB +> : ^^^^^ +>EnumB : typeof EnumB +> : ^^^^^^^^^^^^ +>Value : EnumB +> : ^^^^^ + + return; + + function aFunc() { +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(EnumB.Value); +>console.log(EnumB.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>EnumB.Value : EnumB +> : ^^^^^ +>EnumB : typeof EnumB +> : ^^^^^^^^^^^^ +>Value : EnumB +> : ^^^^^ + } + + const enum EnumB { Value } +>EnumB : EnumB +> : ^^^^^ +>Value : EnumB.Value +> : ^^^^^^^^^^^ +} + +function func4() { +>func4 : () => void +> : ^^^^^^^^^^ + + aFunc(); +>aFunc() : void +> : ^^^^ +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(ClassA.Value); +>console.log(ClassA.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>ClassA.Value : number +> : ^^^^^^ +>ClassA : typeof ClassA +> : ^^^^^^^^^^^^^ +>Value : number +> : ^^^^^^ + + return; + + function aFunc() { +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(ClassA.Value); +>console.log(ClassA.Value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>ClassA.Value : number +> : ^^^^^^ +>ClassA : typeof ClassA +> : ^^^^^^^^^^^^^ +>Value : number +> : ^^^^^^ + } + + class ClassA { static Value = 1234; } +>ClassA : ClassA +> : ^^^^^^ +>Value : number +> : ^^^^^^ +>1234 : 1234 +> : ^^^^ +} + +function func5() { +>func5 : () => void +> : ^^^^^^^^^^ + + aFunc(); +>aFunc() : void +> : ^^^^ +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(Bar.A); +>console.log(Bar.A) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>Bar.A : Bar +> : ^^^ +>Bar : typeof Bar +> : ^^^^^^^^^^ +>A : Bar +> : ^^^ + + console.log(blah.prop); +>console.log(blah.prop) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>blah.prop : number +> : ^^^^^^ +>blah : { prop: number; } +> : ^^^^^^^^^^^^^^^^^ +>prop : number +> : ^^^^^^ + + console.log(new Foo()) +>console.log(new Foo()) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>new Foo() : Foo +> : ^^^ +>Foo : typeof Foo +> : ^^^^^^^^^^ + + console.log(Baz.value); +>console.log(Baz.value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>Baz.value : 1234 +> : ^^^^ +>Baz : typeof Baz +> : ^^^^^^^^^^ +>value : 1234 +> : ^^^^ + + + return; + + function aFunc() { +>aFunc : () => void +> : ^^^^^^^^^^ + + console.log(Bar.A); +>console.log(Bar.A) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>Bar.A : Bar +> : ^^^ +>Bar : typeof Bar +> : ^^^^^^^^^^ +>A : Bar +> : ^^^ + + console.log(blah.prop); +>console.log(blah.prop) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>blah.prop : number +> : ^^^^^^ +>blah : { prop: number; } +> : ^^^^^^^^^^^^^^^^^ +>prop : number +> : ^^^^^^ + + console.log(new Foo()) +>console.log(new Foo()) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>new Foo() : Foo +> : ^^^ +>Foo : typeof Foo +> : ^^^^^^^^^^ + + console.log(Baz.value); +>console.log(Baz.value) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>Baz.value : 1234 +> : ^^^^ +>Baz : typeof Baz +> : ^^^^^^^^^^ +>value : 1234 +> : ^^^^ + } + + const blah = { prop: 1234 }; +>blah : { prop: number; } +> : ^^^^^^^^^^^^^^^^^ +>{ prop: 1234 } : { prop: number; } +> : ^^^^^^^^^^^^^^^^^ +>prop : number +> : ^^^^^^ +>1234 : 1234 +> : ^^^^ + + enum Bar { A } +>Bar : Bar +> : ^^^ +>A : Bar.A +> : ^^^^^ + + class Foo { x = 1234 } +>Foo : Foo +> : ^^^ +>x : number +> : ^^^^^^ +>1234 : 1234 +> : ^^^^ + + namespace Baz { export const value = 1234 } +>Baz : typeof Baz +> : ^^^^^^^^^^ +>value : 1234 +> : ^^^^ +>1234 : 1234 +> : ^^^^ +} + diff --git a/tests/baselines/reference/usingDeclarationsWithIteratorObject.errors.txt b/tests/baselines/reference/usingDeclarationsWithIteratorObject.errors.txt new file mode 100644 index 0000000000000..3737d17d3f37c --- /dev/null +++ b/tests/baselines/reference/usingDeclarationsWithIteratorObject.errors.txt @@ -0,0 +1,31 @@ +usingDeclarationsWithIteratorObject.ts(20,17): error TS2850: The initializer of a 'using' declaration must be either an object with a '[Symbol.dispose]()' method, or be 'null' or 'undefined'. + Property '[Symbol.dispose]' is missing in type 'Iterator' but required in type 'Disposable'. + + +==== usingDeclarationsWithIteratorObject.ts (1 errors) ==== + declare const i: Iterator; + declare const io: IteratorObject; + declare const g: Generator; + + class MyIterator extends Iterator { + next() { return { done: true, value: undefined }; } + } + + function f() { + // should pass + using it0 = io; + using it1 = g; + using it2 = Iterator.from(i) + using it3 = new MyIterator(); + using it4 = [].values(); + using it5 = new Map().entries(); + using it6 = new Set().keys(); + + // should fail + using it7 = i; + ~ +!!! error TS2850: The initializer of a 'using' declaration must be either an object with a '[Symbol.dispose]()' method, or be 'null' or 'undefined'. +!!! error TS2850: Property '[Symbol.dispose]' is missing in type 'Iterator' but required in type 'Disposable'. +!!! related TS2728 lib.esnext.disposable.d.ts:--:--: '[Symbol.dispose]' is declared here. + } + \ No newline at end of file diff --git a/tests/baselines/reference/usingDeclarationsWithIteratorObject.symbols b/tests/baselines/reference/usingDeclarationsWithIteratorObject.symbols new file mode 100644 index 0000000000000..caf73d6c9baeb --- /dev/null +++ b/tests/baselines/reference/usingDeclarationsWithIteratorObject.symbols @@ -0,0 +1,72 @@ +//// [tests/cases/conformance/statements/VariableStatements/usingDeclarations/usingDeclarationsWithIteratorObject.ts] //// + +=== usingDeclarationsWithIteratorObject.ts === +declare const i: Iterator; +>i : Symbol(i, Decl(usingDeclarationsWithIteratorObject.ts, 0, 13)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) + +declare const io: IteratorObject; +>io : Symbol(io, Decl(usingDeclarationsWithIteratorObject.ts, 1, 13)) +>IteratorObject : Symbol(IteratorObject, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.disposable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) + +declare const g: Generator; +>g : Symbol(g, Decl(usingDeclarationsWithIteratorObject.ts, 2, 13)) +>Generator : Symbol(Generator, Decl(lib.es2015.generator.d.ts, --, --)) + +class MyIterator extends Iterator { +>MyIterator : Symbol(MyIterator, Decl(usingDeclarationsWithIteratorObject.ts, 2, 41)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) + + next() { return { done: true, value: undefined }; } +>next : Symbol(MyIterator.next, Decl(usingDeclarationsWithIteratorObject.ts, 4, 43)) +>done : Symbol(done, Decl(usingDeclarationsWithIteratorObject.ts, 5, 21)) +>value : Symbol(value, Decl(usingDeclarationsWithIteratorObject.ts, 5, 33)) +>undefined : Symbol(undefined) +} + +function f() { +>f : Symbol(f, Decl(usingDeclarationsWithIteratorObject.ts, 6, 1)) + + // should pass + using it0 = io; +>it0 : Symbol(it0, Decl(usingDeclarationsWithIteratorObject.ts, 10, 9)) +>io : Symbol(io, Decl(usingDeclarationsWithIteratorObject.ts, 1, 13)) + + using it1 = g; +>it1 : Symbol(it1, Decl(usingDeclarationsWithIteratorObject.ts, 11, 9)) +>g : Symbol(g, Decl(usingDeclarationsWithIteratorObject.ts, 2, 13)) + + using it2 = Iterator.from(i) +>it2 : Symbol(it2, Decl(usingDeclarationsWithIteratorObject.ts, 12, 9)) +>Iterator.from : Symbol(IteratorConstructor.from, Decl(lib.esnext.iterator.d.ts, --, --)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) +>from : Symbol(IteratorConstructor.from, Decl(lib.esnext.iterator.d.ts, --, --)) +>i : Symbol(i, Decl(usingDeclarationsWithIteratorObject.ts, 0, 13)) + + using it3 = new MyIterator(); +>it3 : Symbol(it3, Decl(usingDeclarationsWithIteratorObject.ts, 13, 9)) +>MyIterator : Symbol(MyIterator, Decl(usingDeclarationsWithIteratorObject.ts, 2, 41)) + + using it4 = [].values(); +>it4 : Symbol(it4, Decl(usingDeclarationsWithIteratorObject.ts, 14, 9)) +>[].values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) + + using it5 = new Map().entries(); +>it5 : Symbol(it5, Decl(usingDeclarationsWithIteratorObject.ts, 15, 9)) +>new Map().entries : Symbol(Map.entries, Decl(lib.es2015.iterable.d.ts, --, --)) +>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, --, --)) +>entries : Symbol(Map.entries, Decl(lib.es2015.iterable.d.ts, --, --)) + + using it6 = new Set().keys(); +>it6 : Symbol(it6, Decl(usingDeclarationsWithIteratorObject.ts, 16, 9)) +>new Set().keys : Symbol(Set.keys, Decl(lib.es2015.iterable.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, --, --)) +>keys : Symbol(Set.keys, Decl(lib.es2015.iterable.d.ts, --, --)) + + // should fail + using it7 = i; +>it7 : Symbol(it7, Decl(usingDeclarationsWithIteratorObject.ts, 19, 9)) +>i : Symbol(i, Decl(usingDeclarationsWithIteratorObject.ts, 0, 13)) +} + diff --git a/tests/baselines/reference/usingDeclarationsWithIteratorObject.types b/tests/baselines/reference/usingDeclarationsWithIteratorObject.types new file mode 100644 index 0000000000000..ae0dcfe5b55db --- /dev/null +++ b/tests/baselines/reference/usingDeclarationsWithIteratorObject.types @@ -0,0 +1,123 @@ +//// [tests/cases/conformance/statements/VariableStatements/usingDeclarations/usingDeclarationsWithIteratorObject.ts] //// + +=== usingDeclarationsWithIteratorObject.ts === +declare const i: Iterator; +>i : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +declare const io: IteratorObject; +>io : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +declare const g: Generator; +>g : Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +class MyIterator extends Iterator { +>MyIterator : MyIterator +> : ^^^^^^^^^^ +>Iterator : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + next() { return { done: true, value: undefined }; } +>next : () => { done: boolean; value: any; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ done: true, value: undefined } : { done: boolean; value: undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>done : boolean +> : ^^^^^^^ +>true : true +> : ^^^^ +>value : undefined +> : ^^^^^^^^^ +>undefined : undefined +> : ^^^^^^^^^ +} + +function f() { +>f : () => void +> : ^^^^^^^^^^ + + // should pass + using it0 = io; +>it0 : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>io : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + using it1 = g; +>it1 : Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g : Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + using it2 = Iterator.from(i) +>it2 : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Iterator.from(i) : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Iterator.from : (value: Iterator | Iterable) => IteratorObject +> : ^ ^^ ^^ ^^^^^ +>Iterator : IteratorConstructor +> : ^^^^^^^^^^^^^^^^^^^ +>from : (value: Iterator | Iterable) => IteratorObject +> : ^ ^^ ^^ ^^^^^ +>i : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + using it3 = new MyIterator(); +>it3 : MyIterator +> : ^^^^^^^^^^ +>new MyIterator() : MyIterator +> : ^^^^^^^^^^ +>MyIterator : typeof MyIterator +> : ^^^^^^^^^^^^^^^^^ + + using it4 = [].values(); +>it4 : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^ +>[].values() : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^ +>[].values : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>[] : undefined[] +> : ^^^^^^^^^^^ +>values : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ + + using it5 = new Map().entries(); +>it5 : MapIterator<[string, string]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>new Map().entries() : MapIterator<[string, string]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>new Map().entries : () => MapIterator<[string, string]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>new Map() : Map +> : ^^^^^^^^^^^^^^^^^^^ +>Map : MapConstructor +> : ^^^^^^^^^^^^^^ +>entries : () => MapIterator<[string, string]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + using it6 = new Set().keys(); +>it6 : SetIterator +> : ^^^^^^^^^^^^^^^^^^^ +>new Set().keys() : SetIterator +> : ^^^^^^^^^^^^^^^^^^^ +>new Set().keys : () => SetIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +>new Set() : Set +> : ^^^^^^^^^^^ +>Set : SetConstructor +> : ^^^^^^^^^^^^^^ +>keys : () => SetIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ + + // should fail + using it7 = i; +>it7 : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +} + diff --git a/tests/cases/compiler/contextualPropertyOfGenericFilteringMappedType.ts b/tests/cases/compiler/contextualPropertyOfGenericFilteringMappedType.ts index 824a6d554344c..9b540f97206fd 100644 --- a/tests/cases/compiler/contextualPropertyOfGenericFilteringMappedType.ts +++ b/tests/cases/compiler/contextualPropertyOfGenericFilteringMappedType.ts @@ -31,3 +31,15 @@ f2( bar: (value, key) => {}, }, ); + +f2( + { + foo: 0, + bar: "", + }, + { + foo: (value, key) => { + // implicit `any`s + }, + }, +); diff --git a/tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts b/tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts new file mode 100644 index 0000000000000..9e0d3bc984031 --- /dev/null +++ b/tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix1.ts @@ -0,0 +1,38 @@ +// @strict: true +// @noEmit: true + +type ComponentType

= (p: P) => any; +type ComponentProps = C extends ComponentType ? P : never; + +type Attrs> = A; + +interface StyledFunction< + C extends ComponentType, + O extends object = {}, + A extends keyof any = never, +> { + attrs< + U, + NewA extends Partial & U> & { + [others: string]: any; + } = {}, + >( + attrs: Attrs & U, NewA>, + ): StyledFunction; +} + +interface StyledInterface { + >(component: C): StyledFunction; +} + +declare const styled: StyledInterface; + +interface BaseProps { + as?: "select" | "input"; +} + +declare const Flex: (props: BaseProps) => null; + +export const StyledSelect = styled(Flex).attrs({ + as: "select", +}); diff --git a/tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts b/tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts new file mode 100644 index 0000000000000..efa68a4854663 --- /dev/null +++ b/tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix2.ts @@ -0,0 +1,38 @@ +// @strict: true +// @noEmit: true + +type IntrinsicElements = { + a: { + href?: string; + }; + div: { + dir?: string; + }; +}; + +type Component = (props: Props) => unknown; + +interface NestedMDXComponents { + [key: string]: Component; +} + +type MDXComponents = NestedMDXComponents & { + [Key in keyof IntrinsicElements]?: Component; +}; + +export interface MDXProps { + components?: MDXComponents; +} + +declare function MyMDXComponent(props: MDXProps): null; + +MyMDXComponent({ + components: { + a(props) { + return null; + }, + div(props) { + return null; + }, + }, +}); diff --git a/tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts b/tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts new file mode 100644 index 0000000000000..42113a86f5775 --- /dev/null +++ b/tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix3.ts @@ -0,0 +1,31 @@ +// @strict: true +// @noEmit: true + +type TypeMap = { + str: "a" | "b" | "c"; + num: 1 | 2 | 3; +}; + +declare function test1< + T extends { [K in keyof TypeMap]: TypeMap[K][] } & { [k: string]: any[] }, +>(arg: T): T; + +const result = test1({ + num: [1, 2], + str: ["a", "b"], + bool: [true, false], +}); + +declare function test2(a: { type: "foo" | "bar" } & { type: any }): void; + +test2({ type: "foo" }); + +// https://github.com/microsoft/TypeScript/issues/59473 + +const x: { ml: any } & { ml: 'edge' } = { ml: 'edge' }; +const a: [any] & [1] = [1]; +const b: any[] & 1[] = [1, 1]; +const c: { a: any } & { a: 1 } = { a: 1 }; +const d: (() => { a: 1 }) & (() => { a: any }) = () => ({ + a: 1, +}); diff --git a/tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts b/tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts new file mode 100644 index 0000000000000..c43a322a29620 --- /dev/null +++ b/tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix4.ts @@ -0,0 +1,52 @@ +// @strict: true +// @noEmit: true + +declare function test1( + arg: { a: (arg: number) => void } & { [k: string]: (arg: any) => void }, +): unknown; + +test1({ + a: (arg) => {}, + b: (arg) => {}, +}); + +declare function test2( + arg: { a: (arg: { foo: string }) => void } & { + [k: string]: (arg: { foo: any }) => void; + }, +): unknown; + +test2({ + a: (arg) => {}, + b: (arg) => {}, +}); + +declare function test3( + arg: { a: () => "foo" } & { + [k: string]: () => any; + }, +): unknown; + +test3({ + a: () => "foo", + b: () => "bar", +}); + +test3({ + a: () => "bar", +}); + +declare function test4( + arg: { a: () => { prop: "foo" } } & { + [k: string]: () => { prop: any }; + }, +): unknown; + +test4({ + a: () => ({ prop: "foo" }), + b: () => ({ prop: "bar" }), +}); + +test4({ + a: () => ({ prop: "bar" }), +}); diff --git a/tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts b/tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts new file mode 100644 index 0000000000000..942d7e0a04925 --- /dev/null +++ b/tests/cases/compiler/contextualTypeBasedOnIntersectionWithAnyInTheMix5.ts @@ -0,0 +1,59 @@ +// @strict: true +// @noEmit: true + +type ComputedGetter = (oldValue?: T) => T; +type ComputedOptions = Record>; + +type ExtractComputedReturns = { + [key in keyof T]: T[key] extends (...args: any[]) => infer TReturn + ? TReturn + : never; +}; + +interface ComponentOptionsBase { + data?: D; + computed?: C; +} + +type ComponentPublicInstance = D & + ExtractComputedReturns; + +type ComponentOptions< + D = any, + C extends ComputedOptions = any, +> = ComponentOptionsBase & ThisType>; + +interface App { + mixin(mixin: ComponentOptions): this; +} + +interface InjectionKey extends Symbol {} + +interface Ref { + _v: T; +} + +declare function reactive(target: T): Ref; + +interface ThemeInstance { + readonly name: Readonly>; +} + +declare const ThemeSymbol: InjectionKey; + +declare function inject( + this: ComponentPublicInstance, + key: InjectionKey | string, +): any; + +declare const app: App; +app.mixin({ + computed: { + $vuetify() { + // this is meant to be `any` here + return reactive({ + theme: inject.call(this, ThemeSymbol), + }); + }, + }, +}); diff --git a/tests/cases/compiler/contextualTypeFunctionObjectPropertyIntersection.ts b/tests/cases/compiler/contextualTypeFunctionObjectPropertyIntersection.ts new file mode 100644 index 0000000000000..661595ea48862 --- /dev/null +++ b/tests/cases/compiler/contextualTypeFunctionObjectPropertyIntersection.ts @@ -0,0 +1,147 @@ +// @strict: true +// @noEmit: true + +// repro from #48812 + +type Action = (ev: TEvent) => void; + +interface MachineConfig { + schema: { + events: TEvent; + }; + on?: { + [K in TEvent["type"]]?: Action; + } & { + "*"?: Action; + }; +} + +declare function createMachine( + config: MachineConfig +): void; + +createMachine({ + schema: { + events: {} as { type: "FOO" } | { type: "BAR" }, + }, + on: { + FOO: (ev) => { + ev.type; // should be 'FOO' + }, + }, +}); + +createMachine({ + schema: { + events: {} as { type: "FOO" } | { type: "BAR" }, + }, + on: { + "*": (ev) => { + ev.type; // should be 'FOO' | 'BAR' + }, + }, +}); + +interface MachineConfig2 { + schema: { + events: TEvent; + }; + on?: { + [K in TEvent["type"] as K extends Uppercase ? K : never]?: Action; + } & { + "*"?: Action; + }; +} + +declare function createMachine2( + config: MachineConfig2 +): void; + +createMachine2({ + schema: { + events: {} as { type: "FOO" } | { type: "bar" }, + }, + on: { + FOO: (ev) => { + ev.type; // should be 'FOO' + }, + }, +}); + +createMachine2({ + schema: { + events: {} as { type: "FOO" } | { type: "bar" }, + }, + on: { + "*": (ev) => { + ev.type; // should be 'FOO' | 'bar' + }, + }, +}); + +createMachine2({ + schema: { + events: {} as { type: "FOO" } | { type: "bar" }, + }, + on: { + bar: (ev) => { + ev // any + }, + }, +}); + +// repro from #49307#issuecomment-1143103607 + +declare function createSlice( + reducers: { [K: string]: (state: string) => void } & { + [K in keyof T]: object; + } +): void; + +createSlice({ + f(a) {}, +}); + +// repro from #49307#issuecomment-1196014488 + +type Validate = T & { [K in keyof T]: object } +declare function f any>>(s: S, x: Validate): void; + +f(0, { + foo: s => s + 1, +}) + +// repro from 49307#issuecomment-1195858950 + +type SliceCaseReducers = Record State | void>; + +type ValidateSliceCaseReducers> = ACR & { + [T in keyof ACR]: ACR[T] extends { + reducer(s: S, action?: infer A): any; + } + ? { + prepare(...a: never[]): Omit; + } + : {}; +}; + +declare function createSlice< + State, + CaseReducers extends SliceCaseReducers +>(options: { + initialState: State | (() => State); + reducers: ValidateSliceCaseReducers; +}): void; + +export const clientSlice = createSlice({ + initialState: { + username: "", + isLoggedIn: false, + userId: "", + avatar: "", + }, + reducers: { + onClientUserChanged(state) {}, + }, +}); + diff --git a/tests/cases/compiler/contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts b/tests/cases/compiler/contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts new file mode 100644 index 0000000000000..6851ed2455b90 --- /dev/null +++ b/tests/cases/compiler/contextualTypesNegatedTypeLikeConstraintInGenericMappedType1.ts @@ -0,0 +1,47 @@ +// @strict: true +// @noEmit: true + +type IntrinsicElements = { + div: { + onChange: (ev: Event) => void; + }; + span: { + onChange: (ev: Event) => void; + }; +}; + +type ElementType = keyof IntrinsicElements; + +let DEFAULT_TABS_TAG = "div" as const; + +type Props = Omit< + IntrinsicElements[TTag], + keyof Overrides +> & + Overrides; + +type TabGroupProps = Props< + TTag, + { + defaultIndex?: number; + onChange?: (index: number) => void; + selectedIndex?: number; + vertical?: boolean; + manual?: boolean; + } +>; + +interface _internal_ComponentTabGroup { + ( + props: TabGroupProps, + ): null; +} + +declare let TabGroup: _internal_ComponentTabGroup; + +TabGroup({ + defaultIndex: 0, + onChange: (index) => { + const i: number = index; + }, +}); diff --git a/tests/cases/compiler/contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts b/tests/cases/compiler/contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts new file mode 100644 index 0000000000000..58f38124556c3 --- /dev/null +++ b/tests/cases/compiler/contextualTypesNegatedTypeLikeConstraintInGenericMappedType2.ts @@ -0,0 +1,28 @@ +// @strict: true +// @noEmit: true + +type Tags = P extends Record ? X : never; + +declare const typeTags: () => < + P extends { + readonly [Tag in Tags<"_tag", I> & string]: ( + _: Extract, + ) => any; + } & { readonly [Tag in Exclude>]: never }, +>( + fields: P, +) => unknown; + +type Value = { _tag: "A"; a: number } | { _tag: "B"; b: number }; +const matcher = typeTags(); + +matcher({ + A: (_) => _.a, + B: (_) => "fail", +}); + +matcher({ + A: (_) => _.a, + B: (_) => "fail", + C: (_) => "fail", +}); diff --git a/tests/cases/compiler/contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts b/tests/cases/compiler/contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts new file mode 100644 index 0000000000000..3eb0fa4e4db33 --- /dev/null +++ b/tests/cases/compiler/contextualTypesNegatedTypeLikeConstraintInGenericMappedType3.ts @@ -0,0 +1,49 @@ +// @strict: true +// @noEmit: true + +type MappedOmit = { [P in keyof T as Exclude]: T[P]; } + +type IntrinsicElements = { + div: { + onChange: (ev: Event) => void; + }; + span: { + onChange: (ev: Event) => void; + }; +}; + +type ElementType = keyof IntrinsicElements; + +let DEFAULT_TABS_TAG = "div" as const; + +type Props = MappedOmit< + IntrinsicElements[TTag], + keyof Overrides +> & + Overrides; + +type TabGroupProps = Props< + TTag, + { + defaultIndex?: number; + onChange?: (index: number) => void; + selectedIndex?: number; + vertical?: boolean; + manual?: boolean; + } +>; + +interface _internal_ComponentTabGroup { + ( + props: TabGroupProps, + ): null; +} + +declare let TabGroup: _internal_ComponentTabGroup; + +TabGroup({ + defaultIndex: 0, + onChange: (index) => { + const i: number = index; + }, +}); diff --git a/tests/cases/compiler/contextuallyTypedJsxAttribute2.tsx b/tests/cases/compiler/contextuallyTypedJsxAttribute2.tsx new file mode 100644 index 0000000000000..003a44b6d8287 --- /dev/null +++ b/tests/cases/compiler/contextuallyTypedJsxAttribute2.tsx @@ -0,0 +1,28 @@ +// @strict: true +// @jsx: react +// @esModuleInterop: true +// @noEmit: true + +/// + +import React from "react"; +import { ComponentPropsWithRef, ElementType } from "react"; + +function UnwrappedLink( + props: Omit, "as">, +) { + return ; +} + + {}} />; + +function UnwrappedLink2( + props: Omit, "as"> & { + as?: T; + }, +) { + return ; +} + + {}} />; + {}} />; diff --git a/tests/cases/compiler/controlFlowUnionContainingTypeParameter1.ts b/tests/cases/compiler/controlFlowUnionContainingTypeParameter1.ts new file mode 100644 index 0000000000000..3880157f13640 --- /dev/null +++ b/tests/cases/compiler/controlFlowUnionContainingTypeParameter1.ts @@ -0,0 +1,35 @@ +// @strict: true +// @noEmit: true + +// https://github.com/microsoft/TypeScript/issues/44814 + +class TestClass { + typeguard(val: unknown): val is T { + return true; + } + f(v: number): void {} + h(v: T): void {} + func(val: T | number): void { + if (this.typeguard(val)) { + this.h(val); + return; + } + this.f(val); + } +} + +class TestClass2 { + typeguard(val: unknown): val is T { + return true; + } + f(v: number): void {} + h(v: T): void {} + func(val: T | number): void { + if (this.typeguard(val)) { + this.h(val); + return; + } + val; + this.f(val); + } +} diff --git a/tests/cases/compiler/discriminateWithOptionalProperty2.ts b/tests/cases/compiler/discriminateWithOptionalProperty2.ts index a8b36cb497489..3cf706f3b95c4 100644 --- a/tests/cases/compiler/discriminateWithOptionalProperty2.ts +++ b/tests/cases/compiler/discriminateWithOptionalProperty2.ts @@ -36,9 +36,9 @@ function mapAsyncIterable( async next() { return mapResult(await iterator.next()); }, - async return(): Promise> { + async return(value: R): Promise> { return typeof iterator.return === "function" - ? mapResult(await iterator.return()) + ? mapResult(await iterator.return(value)) : { value: undefined as any, done: true }; }, async throw(error?: unknown) { @@ -50,6 +50,9 @@ function mapAsyncIterable( [Symbol.asyncIterator]() { return this; }, + async [Symbol.asyncDispose]() { + await this.return(undefined!); + } }; } diff --git a/tests/cases/compiler/reverseMappedIntersectionInference1.ts b/tests/cases/compiler/reverseMappedIntersectionInference1.ts new file mode 100644 index 0000000000000..27b6889eb7c54 --- /dev/null +++ b/tests/cases/compiler/reverseMappedIntersectionInference1.ts @@ -0,0 +1,43 @@ +// @strict: true +// @noEmit: true + +type Results = { + [K in keyof T]: { + data: T[K]; + onSuccess: (data: T[K]) => void; + }; +}; + +type Errors = { + [K in keyof E]: { + error: E[K]; + onError: (data: E[K]) => void; + }; +}; + +declare function withKeyedObj( + arg: Results & Errors +): [T, E]; + +const res = withKeyedObj({ + a: { + data: "foo", + onSuccess: (dataArg) => { + dataArg; + }, + error: 404, + onError: (errorArg) => { + errorArg; + }, + }, + b: { + data: true, + onSuccess: (dataArg) => { + dataArg; + }, + error: 500, + onError: (errorArg) => { + errorArg; + }, + }, +}); diff --git a/tests/cases/compiler/reverseMappedIntersectionInference2.ts b/tests/cases/compiler/reverseMappedIntersectionInference2.ts new file mode 100644 index 0000000000000..107050d26acbe --- /dev/null +++ b/tests/cases/compiler/reverseMappedIntersectionInference2.ts @@ -0,0 +1,43 @@ +// @strict: true +// @noEmit: true + +type Results = { + [K in keyof T]: { + data: T[K]; + onSuccess: (data: T[K]) => void; + }; +}; + +type Errors = { + [K in keyof E]: { + error: E[K]; + onError: (data: E[K]) => void; + }; +}; + +declare function withTupleLike( + arg: Results & Errors +): [T, E]; + +const res = withTupleLike([ + { + data: "foo", + onSuccess: (dataArg) => { + dataArg; + }, + error: 404, + onError: (errorArg) => { + errorArg; + }, + }, + { + data: true, + onSuccess: (dataArg) => { + dataArg; + }, + error: 500, + onError: (errorArg) => { + errorArg; + }, + }, +]); diff --git a/tests/cases/compiler/unreachableDeclarations.ts b/tests/cases/compiler/unreachableDeclarations.ts new file mode 100644 index 0000000000000..71c30e8995cf3 --- /dev/null +++ b/tests/cases/compiler/unreachableDeclarations.ts @@ -0,0 +1,89 @@ +// @strict: true +// @preserveConstEnums: true, false +// @allowUnreachableCode: false + +function func1() { + aFunc(); + + console.log(EnumA.Value); + console.log(EnumB.Value); + + return; + + function aFunc() { + console.log(EnumA.Value); + console.log(EnumB.Value); + } + + enum EnumA { Value } + const enum EnumB { Value } +} + +function func2() { + aFunc(); + + console.log(EnumA.Value); + + return; + + function aFunc() { + console.log(EnumA.Value); + } + + enum EnumA { Value } +} + +function func3() { + aFunc(); + + console.log(EnumB.Value); + + return; + + function aFunc() { + console.log(EnumB.Value); + } + + const enum EnumB { Value } +} + +function func4() { + aFunc(); + + console.log(ClassA.Value); + + return; + + function aFunc() { + console.log(ClassA.Value); + } + + class ClassA { static Value = 1234; } +} + +function func5() { + aFunc(); + + console.log(Bar.A); + console.log(blah.prop); + console.log(new Foo()) + console.log(Baz.value); + + + return; + + function aFunc() { + console.log(Bar.A); + console.log(blah.prop); + console.log(new Foo()) + console.log(Baz.value); + } + + const blah = { prop: 1234 }; + + enum Bar { A } + + class Foo { x = 1234 } + + namespace Baz { export const value = 1234 } +} diff --git a/tests/cases/conformance/asyncGenerators/asyncGeneratorPromiseNextType.ts b/tests/cases/conformance/asyncGenerators/asyncGeneratorPromiseNextType.ts new file mode 100644 index 0000000000000..dba96834a10df --- /dev/null +++ b/tests/cases/conformance/asyncGenerators/asyncGeneratorPromiseNextType.ts @@ -0,0 +1,42 @@ +// @target: esnext +// @strict: true +// @noEmit: true + +// https://github.com/microsoft/TypeScript/issues/44808 + +type Result = {message: string} + +async function *saverGen(): AsyncGenerator | undefined> { + let pending: Promise[] = []; + while (true) { + const p: Promise | undefined = yield; + if (p != null) + pending.push(p); + else { + const results = await Promise.all(pending); + pending = []; + console.log('Storing...'); + await storeResults(results); + } + } +} + +function storeResults(results: Result[]) { + console.log(results); + return Promise.resolve(); +} + +async function *saverGen2() { + let pending: Promise[] = []; + while (true) { + const p: Promise | undefined = yield; + if (p != null) + pending.push(p); + else { + const results = await Promise.all(pending); + pending = []; + console.log('Storing...'); + await storeResults(results); + } + } +} diff --git a/tests/cases/conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsWithAsyncIteratorObject.ts b/tests/cases/conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsWithAsyncIteratorObject.ts new file mode 100644 index 0000000000000..f20f51eb46abc --- /dev/null +++ b/tests/cases/conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsWithAsyncIteratorObject.ts @@ -0,0 +1,17 @@ +// @target: esnext +// @module: esnext +// @lib: esnext +// @noEmit: true + +declare const ai: AsyncIterator; +declare const aio: AsyncIteratorObject; +declare const ag: AsyncGenerator; + +async function f() { + // should pass + await using it0 = aio; + await using it1 = ag; + + // should fail + await using it2 = ai; +} diff --git a/tests/cases/conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsWithIteratorObject.ts b/tests/cases/conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsWithIteratorObject.ts new file mode 100644 index 0000000000000..de8fdd378da79 --- /dev/null +++ b/tests/cases/conformance/statements/VariableStatements/usingDeclarations/awaitUsingDeclarationsWithIteratorObject.ts @@ -0,0 +1,26 @@ +// @target: esnext +// @module: esnext +// @lib: esnext +// @noEmit: true + +declare const i: Iterator; +declare const io: IteratorObject; +declare const g: Generator; + +class MyIterator extends Iterator { + next() { return { done: true, value: undefined }; } +} + +async function f() { + // should pass + await using it0 = io; + await using it1 = g; + await using it2 = Iterator.from(i) + await using it3 = new MyIterator(); + await using it4 = [].values(); + await using it5 = new Map().entries(); + await using it6 = new Set().keys(); + + // should fail + await using it7 = i; +} diff --git a/tests/cases/conformance/statements/VariableStatements/usingDeclarations/usingDeclarationsWithIteratorObject.ts b/tests/cases/conformance/statements/VariableStatements/usingDeclarations/usingDeclarationsWithIteratorObject.ts new file mode 100644 index 0000000000000..59ba2516fea27 --- /dev/null +++ b/tests/cases/conformance/statements/VariableStatements/usingDeclarations/usingDeclarationsWithIteratorObject.ts @@ -0,0 +1,26 @@ +// @target: esnext +// @module: esnext +// @lib: esnext +// @noEmit: true + +declare const i: Iterator; +declare const io: IteratorObject; +declare const g: Generator; + +class MyIterator extends Iterator { + next() { return { done: true, value: undefined }; } +} + +function f() { + // should pass + using it0 = io; + using it1 = g; + using it2 = Iterator.from(i) + using it3 = new MyIterator(); + using it4 = [].values(); + using it5 = new Map().entries(); + using it6 = new Set().keys(); + + // should fail + using it7 = i; +} diff --git a/tests/cases/fourslash/autoImportCompletionExportListAugmentation1.ts b/tests/cases/fourslash/autoImportCompletionExportListAugmentation1.ts new file mode 100644 index 0000000000000..8556ac9c40ff5 --- /dev/null +++ b/tests/cases/fourslash/autoImportCompletionExportListAugmentation1.ts @@ -0,0 +1,58 @@ +/// +// @module: nodenext + +// @Filename: /node_modules/@sapphire/pieces/index.d.ts +//// interface Container { +//// stores: unknown; +//// } +//// +//// declare class Piece { +//// container: Container; +//// } +//// +//// export { Piece, type Container }; + +// @FileName: /augmentation.ts +//// declare module "@sapphire/pieces" { +//// interface Container { +//// client: unknown; +//// } +//// export { Container }; +//// } + +// @Filename: /index.ts +//// import { Piece } from "@sapphire/pieces"; +//// class FullPiece extends Piece { +//// /*1*/ +//// } + +const preferences = { + includeCompletionsWithClassMemberSnippets: true, + includeCompletionsWithInsertText: true, +}; + +verify.completions({ + marker: "1", + includes: [ + { + name: "container", + insertText: "container: Container;", + filterText: "container", + hasAction: true, + source: "ClassMemberSnippet/", + }, + ], + preferences, + isNewIdentifierLocation: true, +}); + +verify.applyCodeActionFromCompletion("1", { + name: "container", + source: "ClassMemberSnippet/", + description: `Includes imports of types referenced by 'container'`, + newFileContent: `import { Container, Piece } from "@sapphire/pieces"; +class FullPiece extends Piece { + +}`, + preferences, +}); diff --git a/tests/cases/fourslash/autoImportCompletionExportListAugmentation2.ts b/tests/cases/fourslash/autoImportCompletionExportListAugmentation2.ts new file mode 100644 index 0000000000000..bf984311cfb75 --- /dev/null +++ b/tests/cases/fourslash/autoImportCompletionExportListAugmentation2.ts @@ -0,0 +1,68 @@ +/// +// @module: nodenext + +// @Filename: /node_modules/@sapphire/pieces/index.d.ts +//// interface Container { +//// stores: unknown; +//// } +//// +//// declare class Piece { +//// get container(): Container; +//// } +//// +//// declare class AliasPiece extends Piece {} +//// +//// export { AliasPiece, type Container }; + +// @Filename: /node_modules/@sapphire/framework/index.d.ts +//// import { AliasPiece } from "@sapphire/pieces"; +//// +//// declare class Command extends AliasPiece {} +//// +//// declare module "@sapphire/pieces" { +//// interface Container { +//// client: unknown; +//// } +//// } +//// +//// export { Command }; + +// @Filename: /index.ts +//// import "@sapphire/pieces"; +//// import { Command } from "@sapphire/framework"; +//// class PingCommand extends Command { +//// /*1*/ +//// } + +const preferences = { + includeCompletionsWithClassMemberSnippets: true, + includeCompletionsWithInsertText: true, +}; + +verify.completions({ + marker: "1", + includes: [ + { + name: "container", + insertText: "get container(): Container {\n}", + filterText: "container", + hasAction: true, + source: "ClassMemberSnippet/", + }, + ], + preferences, + isNewIdentifierLocation: true, +}); + +verify.applyCodeActionFromCompletion("1", { + name: "container", + source: "ClassMemberSnippet/", + description: `Includes imports of types referenced by 'container'`, + newFileContent: `import "@sapphire/pieces"; +import { Command } from "@sapphire/framework"; +import { Container } from "@sapphire/pieces"; +class PingCommand extends Command { + +}`, + preferences, +}); \ No newline at end of file diff --git a/tests/cases/fourslash/autoImportCompletionExportListAugmentation3.ts b/tests/cases/fourslash/autoImportCompletionExportListAugmentation3.ts new file mode 100644 index 0000000000000..7331ec3cedc02 --- /dev/null +++ b/tests/cases/fourslash/autoImportCompletionExportListAugmentation3.ts @@ -0,0 +1,57 @@ +/// +// @module: nodenext + +// @Filename: /node_modules/@sapphire/pieces/index.d.ts +//// export interface Container { +//// stores: unknown; +//// } +//// +//// declare class Piece { +//// container: Container; +//// } +//// +//// export { Piece }; + +// @FileName: /augmentation.ts +//// declare module "@sapphire/pieces" { +//// interface Container { +//// client: unknown; +//// } +//// } + +// @Filename: /index.ts +//// import { Piece } from "@sapphire/pieces"; +//// class FullPiece extends Piece { +//// /*1*/ +//// } + +const preferences = { + includeCompletionsWithClassMemberSnippets: true, + includeCompletionsWithInsertText: true, +}; + +verify.completions({ + marker: "1", + includes: [ + { + name: "container", + insertText: "container: Container;", + filterText: "container", + hasAction: true, + source: "ClassMemberSnippet/", + }, + ], + preferences, + isNewIdentifierLocation: true, +}); + +verify.applyCodeActionFromCompletion("1", { + name: "container", + source: "ClassMemberSnippet/", + description: `Includes imports of types referenced by 'container'`, + newFileContent: `import { Container, Piece } from "@sapphire/pieces"; +class FullPiece extends Piece { + +}`, + preferences, +}); \ No newline at end of file diff --git a/tests/cases/fourslash/autoImportCompletionExportListAugmentation4.ts b/tests/cases/fourslash/autoImportCompletionExportListAugmentation4.ts new file mode 100644 index 0000000000000..58ded632a7019 --- /dev/null +++ b/tests/cases/fourslash/autoImportCompletionExportListAugmentation4.ts @@ -0,0 +1,67 @@ +/// + +// @module: nodenext + +// @Filename: /node_modules/@sapphire/pieces/index.d.ts +//// interface Container { +//// stores: unknown; +//// } +//// +//// declare class Piece { +//// get container(): Container; +//// } +//// +//// export { Piece as Alias, type Container }; + +// @Filename: /node_modules/@sapphire/framework/index.d.ts +//// import { Alias } from "@sapphire/pieces"; +//// +//// declare class Command extends Alias {} +//// +//// declare module "@sapphire/pieces" { +//// interface Container { +//// client: unknown; +//// } +//// } +//// +//// export { Command as CommandAlias }; + +// @Filename: /index.ts +//// import "@sapphire/pieces"; +//// import { CommandAlias } from "@sapphire/framework"; +//// class PingCommand extends CommandAlias { +//// /*1*/ +//// } + +const preferences = { + includeCompletionsWithClassMemberSnippets: true, + includeCompletionsWithInsertText: true, +}; + +verify.completions({ + marker: "1", + includes: [ + { + name: "container", + insertText: "get container(): Container {\n}", + filterText: "container", + hasAction: true, + source: "ClassMemberSnippet/", + }, + ], + preferences, + isNewIdentifierLocation: true, +}); + +verify.applyCodeActionFromCompletion("1", { + name: "container", + source: "ClassMemberSnippet/", + description: `Includes imports of types referenced by 'container'`, + newFileContent: `import "@sapphire/pieces"; +import { CommandAlias } from "@sapphire/framework"; +import { Container } from "@sapphire/pieces"; +class PingCommand extends CommandAlias { + +}`, + preferences, +}); \ No newline at end of file diff --git a/tests/cases/fourslash/codeFixClassImplementInterfaceWithAmbientSignatures1.ts b/tests/cases/fourslash/codeFixClassImplementInterfaceWithAmbientSignatures1.ts new file mode 100644 index 0000000000000..695ccc3b99ef3 --- /dev/null +++ b/tests/cases/fourslash/codeFixClassImplementInterfaceWithAmbientSignatures1.ts @@ -0,0 +1,32 @@ +/// + +// @lib: esnext +// @target: esnext + +// @Filename: /node_modules/@types/node/globals.d.ts +////export {}; +////declare global { +//// interface SymbolConstructor { +//// readonly dispose: unique symbol; +//// } +//// interface Disposable { +//// [Symbol.dispose](): void; +//// } +////} + +// @Filename: /node_modules/@types/node/index.d.ts +/////// + +// @Filename: a.ts +////class Foo implements Disposable {} + +goTo.file("a.ts"); +verify.codeFix({ + description: "Implement interface 'Disposable'", + newFileContent: +`class Foo implements Disposable { + [Symbol.dispose](): void { + throw new Error("Method not implemented."); + } +}` +}); diff --git a/tests/cases/fourslash/codeFixClassImplementInterfaceWithAmbientSignatures2.ts b/tests/cases/fourslash/codeFixClassImplementInterfaceWithAmbientSignatures2.ts new file mode 100644 index 0000000000000..0ae34b6e4a2e5 --- /dev/null +++ b/tests/cases/fourslash/codeFixClassImplementInterfaceWithAmbientSignatures2.ts @@ -0,0 +1,19 @@ +/// + +////declare class A { +//// method(): void; +////} +////class B implements A {} + +verify.codeFix({ + description: "Implement interface 'A'", + newFileContent: +`declare class A { + method(): void; +} +class B implements A { + method(): void { + throw new Error("Method not implemented."); + } +}` +}); diff --git a/tests/cases/fourslash/codeFixClassImplementInterfaceWithAmbientSignatures3.ts b/tests/cases/fourslash/codeFixClassImplementInterfaceWithAmbientSignatures3.ts new file mode 100644 index 0000000000000..42fbc81db173d --- /dev/null +++ b/tests/cases/fourslash/codeFixClassImplementInterfaceWithAmbientSignatures3.ts @@ -0,0 +1,19 @@ +/// + +////declare abstract class A { +//// abstract method(): void; +////} +////class B implements A {} + +verify.codeFix({ + description: "Implement interface 'A'", + newFileContent: +`declare abstract class A { + abstract method(): void; +} +class B implements A { + method(): void { + throw new Error("Method not implemented."); + } +}` +}); diff --git a/tests/cases/fourslash/codeFixUnreachableCode.ts b/tests/cases/fourslash/codeFixUnreachableCode.ts index 3940fbd916377..b5ad96e775b47 100644 --- a/tests/cases/fourslash/codeFixUnreachableCode.ts +++ b/tests/cases/fourslash/codeFixUnreachableCode.ts @@ -8,7 +8,7 @@ //// type T = number; //// interface I {} //// const enum E {} -//// enum EE {} +//// [|enum EE {}|] //// namespace N { export type T = number; } //// [|namespace N { export const x: T = 0; }|] //// var x: I; @@ -33,7 +33,6 @@ verify.codeFixAll({ type T = number; interface I {} const enum E {} - enum EE {} namespace N { export type T = number; } var x: I; }`, diff --git a/tests/cases/fourslash/completionsCommitCharactersAfterDot.ts b/tests/cases/fourslash/completionsCommitCharactersAfterDot.ts new file mode 100644 index 0000000000000..c6acdc7074e25 --- /dev/null +++ b/tests/cases/fourslash/completionsCommitCharactersAfterDot.ts @@ -0,0 +1,16 @@ +/// + +//// declare const obj: { banana: 1 }; +//// const x = obj./*1*/ +//// declare module obj./*2*/ {} +//// declare const obj2: { banana: 1 } | undefined; +//// const y = obj2?./*3*/ +//// declare const obj3: { [x: string]: number }; +//// const z = obj3./*4*/ +//// declare const obj4: { (): string; [x: string]: number } | undefined; +//// const w = obj4?./*5*/ +//// declare const obj5: { (): string } | undefined; +//// const a = obj5?./*6*/ + + +verify.baselineCompletions(); \ No newline at end of file diff --git a/tests/cases/fourslash/completionsCommitCharactersExportImportClause.ts b/tests/cases/fourslash/completionsCommitCharactersExportImportClause.ts new file mode 100644 index 0000000000000..b8d3db26e7f16 --- /dev/null +++ b/tests/cases/fourslash/completionsCommitCharactersExportImportClause.ts @@ -0,0 +1,17 @@ +/// + + +// @filename: a.ts +//// const xx: string = "aa"; +//// function ff(): void {} + +//// export { /*1*/ }; + +// @filename: exports.ts +//// export const ff: string = ""; +//// export const aa = () => {}; + +// @filename: imports.ts +//// import { /*2*/ } from "./exports"; + +verify.baselineCompletions(); \ No newline at end of file diff --git a/tests/cases/fourslash/completionsCommitCharactersGlobal.ts b/tests/cases/fourslash/completionsCommitCharactersGlobal.ts new file mode 100644 index 0000000000000..7dd0a498d394b --- /dev/null +++ b/tests/cases/fourslash/completionsCommitCharactersGlobal.ts @@ -0,0 +1,45 @@ +/// + +//// declare function func(a: string, b: number): { a: string, b: number }; +//// const x1 = func(/*1*/) +//// const x2 = func +//// (a/*2*/) +//// (a/*22*/) +//// ; + +//// const x3 = func("a", /*3*/) +//// const x4 = func +//// (a, b/*4*/) + +//// const x5 = func((a, /*5*/)); +//// const x6 = (a/*6*/) +//// const x7 = (a, x/*7*/) + +//// function x8(/*8*/) {} +//// function x9(a: number, /*9*/) + +//// const x10: [/*10*/] +//// const x11: [ ] + +//// let x12; +//// x12 = /*12*/ + +//// const x13 = `hello, ${/*13*/}` + +//// interface I { +//// [/*14*/]: T; +//// } + +//// class C { +//// [/*16*/]: string; +//// [str/*17*/: string]: number; +//// } + +//// type T = { +//// [x/*18*/yz: number]: boolean; +//// [/*19*/ +//// } + +//// function F(pred: (x/*20*/) + +verify.baselineCompletions(); \ No newline at end of file diff --git a/tests/cases/fourslash/completionsInitializerCommitCharacter.ts b/tests/cases/fourslash/completionsInitializerCommitCharacter.ts new file mode 100644 index 0000000000000..69c5c06b71533 --- /dev/null +++ b/tests/cases/fourslash/completionsInitializerCommitCharacter.ts @@ -0,0 +1,7 @@ +/// + +// @Filename: file1.ts +//// const mySpecialVar = 1; +//// const foo = mySpec/**/ + +verify.baselineCompletions(); \ No newline at end of file diff --git a/tests/cases/fourslash/completionsStringCommitCharacter.ts b/tests/cases/fourslash/completionsStringCommitCharacter.ts new file mode 100644 index 0000000000000..38b7209034414 --- /dev/null +++ b/tests/cases/fourslash/completionsStringCommitCharacter.ts @@ -0,0 +1,8 @@ +/// + +// @Filename: file1.ts +//// const a: "aa" | "bb" = "/**/" + +verify.baselineCompletions({ + includeInsertTextCompletions: true, +}); \ No newline at end of file diff --git a/tests/cases/fourslash/goToDefinitionClassConstructors.ts b/tests/cases/fourslash/goToDefinitionClassConstructors.ts new file mode 100644 index 0000000000000..8e57de62f17da --- /dev/null +++ b/tests/cases/fourslash/goToDefinitionClassConstructors.ts @@ -0,0 +1,39 @@ +/// + +// @filename: definitions.ts +//// export class Base { +//// constructor(protected readonly cArg: string) {} +//// } +//// +//// export class Derived extends Base { +//// readonly email = this.cArg.getByLabel('Email') +//// readonly password = this.cArg.getByLabel('Password') +//// } + +// @filename: main.ts +//// import { Derived } from './definitions' +//// const derived = new [|/*Derived*/Derived|](cArg) + +// @filename: defInSameFile.ts +//// import { Base } from './definitions' +//// class SameFile extends Base { +//// readonly name: string = 'SameFile' +//// } +//// const SameFile = new [|/*SameFile*/SameFile|](cArg) +//// const wrapper = new [|/*Base*/Base|](cArg) + +// @filename: hasConstructor.ts +//// import { Base } from './definitions' +//// class HasConstructor extends Base { +//// constructor() {} +//// readonly name: string = ''; +//// } +//// const hasConstructor = new [|/*HasConstructor*/HasConstructor|](cArg) + + +verify.baselineGoToDefinition( + "Derived", + "SameFile", + "HasConstructor", + "Base", +); diff --git a/tests/cases/fourslash/goToDefinitionConstructorOfClassExpression01.ts b/tests/cases/fourslash/goToDefinitionConstructorOfClassExpression01.ts index a5b149932134c..4c127338ba5f1 100644 --- a/tests/cases/fourslash/goToDefinitionConstructorOfClassExpression01.ts +++ b/tests/cases/fourslash/goToDefinitionConstructorOfClassExpression01.ts @@ -2,8 +2,25 @@ ////var x = class C { //// /*definition*/constructor() { -//// var other = new [|/*usage*/C|]; +//// var other = new [|/*xusage*/C|]; //// } ////} +//// +////var y = class C extends x { +//// constructor() { +//// super(); +//// var other = new [|/*yusage*/C|]; +//// } +////} +////var z = class C extends x { +//// m() { +//// return new [|/*zusage*/C|]; +//// } +////} +//// +////var x1 = new [|/*cref*/C|](); +////var x2 = new [|/*xref*/x|](); +////var y1 = new [|/*yref*/y|](); +////var z1 = new [|/*zref*/z|](); -verify.baselineGoToDefinition("usage"); +verify.baselineGoToDefinition("xusage", "yusage", "zusage", "cref", "xref", "yref", "zref"); diff --git a/tests/cases/fourslash/goToDefinitionConstructorOverloads.ts b/tests/cases/fourslash/goToDefinitionConstructorOverloads.ts index 4151e7c708fb8..d3cb9ec9d517e 100644 --- a/tests/cases/fourslash/goToDefinitionConstructorOverloads.ts +++ b/tests/cases/fourslash/goToDefinitionConstructorOverloads.ts @@ -8,9 +8,17 @@ //// ////var constructorOverload = new [|/*constructorOverloadReference1*/ConstructorOverload|](); ////var constructorOverload = new [|/*constructorOverloadReference2*/ConstructorOverload|]("foo"); +//// +////class Extended extends ConstructorOverload { +//// readonly name = "extended"; +////} +////var extended1 = new [|/*extendedRef1*/Extended|](); +////var extended2 = new [|/*extendedRef2*/Extended|]("foo"); verify.baselineGoToDefinition( "constructorOverloadReference1", "constructorOverloadReference2", "constructorOverload1", + "extendedRef1", + "extendedRef2", ); diff --git a/tests/cases/fourslash/inlineVariableTemplateString1.ts b/tests/cases/fourslash/inlineVariableTemplateString1.ts new file mode 100644 index 0000000000000..48df225455a55 --- /dev/null +++ b/tests/cases/fourslash/inlineVariableTemplateString1.ts @@ -0,0 +1,13 @@ +/// + +////const /*a*/pizza/*b*/ = "🍕"; +////export const prompt = `Hello, would you like some ${pizza}?`; + +goTo.select("a", "b"); +verify.refactorAvailable("Inline variable"); +edit.applyRefactor({ + refactorName: "Inline variable", + actionName: "Inline variable", + actionDescription: "Inline variable", + newContent: "export const prompt = `Hello, would you like some 🍕?`;" +}); \ No newline at end of file diff --git a/tests/cases/fourslash/inlineVariableTemplateString10.ts b/tests/cases/fourslash/inlineVariableTemplateString10.ts new file mode 100644 index 0000000000000..b6409d3133bac --- /dev/null +++ b/tests/cases/fourslash/inlineVariableTemplateString10.ts @@ -0,0 +1,13 @@ +/// + +////const /*a*/message/*b*/ = "Hello, World!"; +////await $`echo ${((message))}`; + +goTo.select("a", "b"); +verify.refactorAvailable("Inline variable"); +edit.applyRefactor({ + refactorName: "Inline variable", + actionName: "Inline variable", + actionDescription: "Inline variable", + newContent: 'await $`echo ${(("Hello, World!"))}`;', +}); \ No newline at end of file diff --git a/tests/cases/fourslash/inlineVariableTemplateString11.ts b/tests/cases/fourslash/inlineVariableTemplateString11.ts new file mode 100644 index 0000000000000..d626b3e4cf5f4 --- /dev/null +++ b/tests/cases/fourslash/inlineVariableTemplateString11.ts @@ -0,0 +1,13 @@ +/// + +////const /*a*/pizza/*b*/ = "🍕"; +////export const prompt = `Hello, would you like some ${((pizza))}?`; + +goTo.select("a", "b"); +verify.refactorAvailable("Inline variable"); +edit.applyRefactor({ + refactorName: "Inline variable", + actionName: "Inline variable", + actionDescription: "Inline variable", + newContent: "export const prompt = `Hello, would you like some 🍕?`;" +}); \ No newline at end of file diff --git a/tests/cases/fourslash/inlineVariableTemplateString2.ts b/tests/cases/fourslash/inlineVariableTemplateString2.ts new file mode 100644 index 0000000000000..0984278c1357c --- /dev/null +++ b/tests/cases/fourslash/inlineVariableTemplateString2.ts @@ -0,0 +1,13 @@ +/// + +////const /*a*/codeText/*b*/ = "Code-formatted text looks `like this` and requires surrounding by backticks (\\`)."; +////export const mdTutorial = `Let's talk about markdown.\n${codeText}?`; + +goTo.select("a", "b"); +verify.refactorAvailable("Inline variable"); +edit.applyRefactor({ + refactorName: "Inline variable", + actionName: "Inline variable", + actionDescription: "Inline variable", + newContent: "export const mdTutorial = `Let's talk about markdown.\\nCode-formatted text looks \\`like this\\` and requires surrounding by backticks (\\\\\\\`).?`;" +}); \ No newline at end of file diff --git a/tests/cases/fourslash/inlineVariableTemplateString3.ts b/tests/cases/fourslash/inlineVariableTemplateString3.ts new file mode 100644 index 0000000000000..9851f87961774 --- /dev/null +++ b/tests/cases/fourslash/inlineVariableTemplateString3.ts @@ -0,0 +1,15 @@ +/// + +////const /*a*/pizza/*b*/ = "🍕"; +////export const prompt = `Hello, would you like some ${ +//// pizza +//// }?`; + +goTo.select("a", "b"); +verify.refactorAvailable("Inline variable"); +edit.applyRefactor({ + refactorName: "Inline variable", + actionName: "Inline variable", + actionDescription: "Inline variable", + newContent: "export const prompt = `Hello, would you like some 🍕?`;" +}); \ No newline at end of file diff --git a/tests/cases/fourslash/inlineVariableTemplateString4.ts b/tests/cases/fourslash/inlineVariableTemplateString4.ts new file mode 100644 index 0000000000000..9a0dc1805f5a1 --- /dev/null +++ b/tests/cases/fourslash/inlineVariableTemplateString4.ts @@ -0,0 +1,13 @@ +/// + +////const /*a*/pizza/*b*/ = "🍕"; +////export const prompt = `Hello, would you like some ${pizza} or ${pizza}?`; + +goTo.select("a", "b"); +verify.refactorAvailable("Inline variable"); +edit.applyRefactor({ + refactorName: "Inline variable", + actionName: "Inline variable", + actionDescription: "Inline variable", + newContent: "export const prompt = `Hello, would you like some 🍕 or 🍕?`;" +}); \ No newline at end of file diff --git a/tests/cases/fourslash/inlineVariableTemplateString5.ts b/tests/cases/fourslash/inlineVariableTemplateString5.ts new file mode 100644 index 0000000000000..fd1f1c510b605 --- /dev/null +++ b/tests/cases/fourslash/inlineVariableTemplateString5.ts @@ -0,0 +1,13 @@ +/// + +////const /*a*/pizza/*b*/ = "🍕"; +////export const prompt = `Hello, would you like some ${pizza}`; + +goTo.select("a", "b"); +verify.refactorAvailable("Inline variable"); +edit.applyRefactor({ + refactorName: "Inline variable", + actionName: "Inline variable", + actionDescription: "Inline variable", + newContent: "export const prompt = `Hello, would you like some 🍕`;" +}); \ No newline at end of file diff --git a/tests/cases/fourslash/inlineVariableTemplateString6.ts b/tests/cases/fourslash/inlineVariableTemplateString6.ts new file mode 100644 index 0000000000000..9d04b8f4b292f --- /dev/null +++ b/tests/cases/fourslash/inlineVariableTemplateString6.ts @@ -0,0 +1,13 @@ +/// + +////const /*a*/x/*b*/ = "\\`"; +////export const y = `${x}`; + +goTo.select("a", "b"); +verify.refactorAvailable("Inline variable"); +edit.applyRefactor({ + refactorName: "Inline variable", + actionName: "Inline variable", + actionDescription: "Inline variable", + newContent: "export const y = `\\\\\\``;" +}); \ No newline at end of file diff --git a/tests/cases/fourslash/inlineVariableTemplateString7.ts b/tests/cases/fourslash/inlineVariableTemplateString7.ts new file mode 100644 index 0000000000000..c0315aa54b9e7 --- /dev/null +++ b/tests/cases/fourslash/inlineVariableTemplateString7.ts @@ -0,0 +1,13 @@ +/// + +////const /*a*/x/*b*/ = "`"; +////export const y = `${x}`; + +goTo.select("a", "b"); +verify.refactorAvailable("Inline variable"); +edit.applyRefactor({ + refactorName: "Inline variable", + actionName: "Inline variable", + actionDescription: "Inline variable", + newContent: "export const y = `\\``;" +}); \ No newline at end of file diff --git a/tests/cases/fourslash/inlineVariableTemplateString8.ts b/tests/cases/fourslash/inlineVariableTemplateString8.ts new file mode 100644 index 0000000000000..82e0abb8562e4 --- /dev/null +++ b/tests/cases/fourslash/inlineVariableTemplateString8.ts @@ -0,0 +1,13 @@ +/// + +////const /*a*/message/*b*/ = "Hello, World!"; +////await $`echo ${message}`; + +goTo.select("a", "b"); +verify.refactorAvailable("Inline variable"); +edit.applyRefactor({ + refactorName: "Inline variable", + actionName: "Inline variable", + actionDescription: "Inline variable", + newContent: 'await $`echo ${"Hello, World!"}`;', +}); \ No newline at end of file diff --git a/tests/cases/fourslash/inlineVariableTemplateString9.ts b/tests/cases/fourslash/inlineVariableTemplateString9.ts new file mode 100644 index 0000000000000..fc6ea1847964c --- /dev/null +++ b/tests/cases/fourslash/inlineVariableTemplateString9.ts @@ -0,0 +1,13 @@ +/// + +////const /*a*/message/*b*/ = "Hello, World!"; +////await $`echo ${(message)}`; + +goTo.select("a", "b"); +verify.refactorAvailable("Inline variable"); +edit.applyRefactor({ + refactorName: "Inline variable", + actionName: "Inline variable", + actionDescription: "Inline variable", + newContent: 'await $`echo ${("Hello, World!")}`;', +}); \ No newline at end of file diff --git a/tests/cases/fourslash/server/autoImportPackageJsonFilterExistingImport1.ts b/tests/cases/fourslash/server/autoImportPackageJsonFilterExistingImport1.ts new file mode 100644 index 0000000000000..e42595855e2ce --- /dev/null +++ b/tests/cases/fourslash/server/autoImportPackageJsonFilterExistingImport1.ts @@ -0,0 +1,24 @@ +/// + +// @module: preserve + +// @Filename: /node_modules/@types/react/index.d.ts +//// export declare function useMemo(): void; +//// export declare function useState(): void; + +// @Filename: /package.json +//// {} + +// @Filename: /index.ts +//// import { useState } from "react"; +//// useMemo/**/ + +goTo.marker(""); +verify.importFixAtPosition([ +`import { useMemo, useState } from "react"; +useMemo` +]); + +edit.deleteLine(0); +goTo.marker(""); +verify.importFixAtPosition([]); diff --git a/tests/cases/fourslash/server/autoImportPackageJsonFilterExistingImport2.ts b/tests/cases/fourslash/server/autoImportPackageJsonFilterExistingImport2.ts new file mode 100644 index 0000000000000..9ab23006a2b99 --- /dev/null +++ b/tests/cases/fourslash/server/autoImportPackageJsonFilterExistingImport2.ts @@ -0,0 +1,25 @@ +/// + +// @module: preserve + +// @Filename: /node_modules/@types/react/index.d.ts +//// export declare function useMemo(): void; +//// export declare function useState(): void; + +// @Filename: /package.json +//// {} + +// @Filename: /index.ts +//// useMemo/**/ + +goTo.marker(""); +verify.importFixAtPosition([]); + +goTo.bof(); +edit.insertLine(`import { useState } from "react";`); + +goTo.marker(""); +verify.importFixAtPosition([ +`import { useMemo, useState } from "react"; +useMemo` +]); diff --git a/tests/cases/fourslash/server/autoImportPackageJsonFilterExistingImport3.ts b/tests/cases/fourslash/server/autoImportPackageJsonFilterExistingImport3.ts new file mode 100644 index 0000000000000..bd0f2f57fa3bc --- /dev/null +++ b/tests/cases/fourslash/server/autoImportPackageJsonFilterExistingImport3.ts @@ -0,0 +1,27 @@ +/// + +// @module: preserve + +// @Filename: /node_modules/@types/node/index.d.ts +//// declare module "node:fs" { +//// export function readFile(): void; +//// export function writeFile(): void; +//// } + +// @Filename: /package.json +//// {} + +// @Filename: /index.ts +//// readFile/**/ + +goTo.marker(""); +verify.importFixAtPosition([]); + +goTo.bof(); +edit.insertLine(`import { writeFile } from "node:fs";`); + +goTo.marker(""); +verify.importFixAtPosition([ +`import { readFile, writeFile } from "node:fs"; +readFile` +]); \ No newline at end of file diff --git a/tests/cases/fourslash/server/pasteEdits_addInNextLine.ts b/tests/cases/fourslash/server/pasteEdits_addInNextLine.ts index ce3919b85c3f3..293840d052d10 100644 --- a/tests/cases/fourslash/server/pasteEdits_addInNextLine.ts +++ b/tests/cases/fourslash/server/pasteEdits_addInNextLine.ts @@ -18,12 +18,12 @@ // @Filename: /tsconfig.json ////{ "files": ["a.ts", "b.ts"] } -const range = test.ranges(); +const ranges = test.ranges(); verify.pasteEdits({ args: { pastedText: [`export const foo: Foo = {};`], - pasteLocations: [range[0]], - copiedFrom: { file: "b.ts", range: [range[1]] }, + pasteLocations: [ranges[0]], + copiedFrom: { file: "b.ts", range: [ranges[1]] }, }, newFileContents: { "/a.ts": diff --git a/tests/cases/fourslash/server/pasteEdits_blankTargetFile.ts b/tests/cases/fourslash/server/pasteEdits_blankTargetFile.ts index d4fd49c285960..f9361a4163d10 100644 --- a/tests/cases/fourslash/server/pasteEdits_blankTargetFile.ts +++ b/tests/cases/fourslash/server/pasteEdits_blankTargetFile.ts @@ -17,12 +17,12 @@ // @Filename: /tsconfig.json ////{ "files": ["c.ts", "a.ts", "b.ts"] } -const range = test.ranges(); +const ranges = test.ranges(); verify.pasteEdits({ args: { pastedText: [`console.log(abc);`], - pasteLocations: [range[0]], - copiedFrom: { file: "b.ts", range: [range[1]] }, + pasteLocations: [ranges[0]], + copiedFrom: { file: "b.ts", range: [ranges[1]] }, }, newFileContents: { "/c.ts": diff --git a/tests/cases/fourslash/server/pasteEdits_existingImports1.ts b/tests/cases/fourslash/server/pasteEdits_existingImports1.ts index 204d6bb0c8186..8141d9230d68d 100644 --- a/tests/cases/fourslash/server/pasteEdits_existingImports1.ts +++ b/tests/cases/fourslash/server/pasteEdits_existingImports1.ts @@ -19,11 +19,10 @@ // @Filename: /tsconfig.json ////{ "files": ["target.ts", "other.ts", "other2.ts", "other3.ts"] } -const range = test.ranges(); verify.pasteEdits({ args: { pastedText: [ `const m = t3 + t2 + 1;`], - pasteLocations: [range[0]], + pasteLocations: test.ranges(), }, newFileContents: { "/target.ts": diff --git a/tests/cases/fourslash/server/pasteEdits_existingImports2.ts b/tests/cases/fourslash/server/pasteEdits_existingImports2.ts index e12fe6350dbc0..d27ffb415609c 100644 --- a/tests/cases/fourslash/server/pasteEdits_existingImports2.ts +++ b/tests/cases/fourslash/server/pasteEdits_existingImports2.ts @@ -25,12 +25,12 @@ // @Filename: /tsconfig.json ////{ "files": ["target.ts", "originalFile.ts", "other.ts", "other2.ts", "other3.ts"] } -const range = test.ranges(); +const ranges = test.ranges(); verify.pasteEdits({ args: { pastedText: [ `const m = t3 + t2 + n;` ], - pasteLocations: [range[0]], - copiedFrom: { file: "originalFile.ts", range: [range[1]] }, + pasteLocations: [ranges[0]], + copiedFrom: { file: "originalFile.ts", range: [ranges[1]] }, }, newFileContents: { "/target.ts": diff --git a/tests/cases/fourslash/server/pasteEdits_knownSourceFile.ts b/tests/cases/fourslash/server/pasteEdits_knownSourceFile.ts index fe9023647fb0a..eb66aad510909 100644 --- a/tests/cases/fourslash/server/pasteEdits_knownSourceFile.ts +++ b/tests/cases/fourslash/server/pasteEdits_knownSourceFile.ts @@ -17,14 +17,13 @@ // @Filename: /tsconfig.json ////{ "files": ["file1.ts", "file2.ts", "target.ts"] } -const range = test.ranges(); -const t = range[0]; +const ranges = test.ranges(); verify.pasteEdits({ args: { pastedText: [ `const c = a + b; const t = 9;`], - pasteLocations: [range[0]], - copiedFrom: { file: "file2.ts", range: [range[1]] }, + pasteLocations: [ranges[0]], + copiedFrom: { file: "file2.ts", range: [ranges[1]] }, }, newFileContents: { "/file2.ts": diff --git a/tests/cases/fourslash/server/pasteEdits_multiplePastes1.ts b/tests/cases/fourslash/server/pasteEdits_multiplePastes1.ts index 5b0e9f5bfbfdb..4751a721a412c 100644 --- a/tests/cases/fourslash/server/pasteEdits_multiplePastes1.ts +++ b/tests/cases/fourslash/server/pasteEdits_multiplePastes1.ts @@ -19,13 +19,13 @@ // @Filename: /tsconfig.json ////{ "files": ["file1.ts", "target.ts", "file3.ts"] } -const range = test.ranges(); +const ranges = test.ranges(); verify.pasteEdits({ args: { pastedText: [ `const g = p + q; function e(); const f = r + s;`], - pasteLocations: [range[0], range[1]], + pasteLocations: [ranges[0], ranges[1]], }, newFileContents: { "/target.ts": diff --git a/tests/cases/fourslash/server/pasteEdits_multiplePastes2.ts b/tests/cases/fourslash/server/pasteEdits_multiplePastes2.ts index 71de5ac278f4e..4c46fc7413323 100644 --- a/tests/cases/fourslash/server/pasteEdits_multiplePastes2.ts +++ b/tests/cases/fourslash/server/pasteEdits_multiplePastes2.ts @@ -21,13 +21,13 @@ // @Filename: /tsconfig.json ////{ "files": ["file1.ts", "target.ts", "other.ts"] } -const range = test.ranges(); +const ranges = test.ranges(); verify.pasteEdits({ args: { pastedText: [ `export const t = aa + bb + r + s; const u = 1;`,], - pasteLocations: [range[0], range[1]], - copiedFrom: { file: "file1.ts", range: [range[2]] }, + pasteLocations: [ranges[0], ranges[1]], + copiedFrom: { file: "file1.ts", range: [ranges[2]] }, }, newFileContents: { "/target.ts": diff --git a/tests/cases/fourslash/server/pasteEdits_multiplePastes3.ts b/tests/cases/fourslash/server/pasteEdits_multiplePastes3.ts index 99b5451eb319f..f5233e9396576 100644 --- a/tests/cases/fourslash/server/pasteEdits_multiplePastes3.ts +++ b/tests/cases/fourslash/server/pasteEdits_multiplePastes3.ts @@ -24,13 +24,13 @@ // @Filename: /tsconfig.json ////{ "files": ["file1.ts", "target.ts", "other.ts"] } -const range = test.ranges(); +const ranges = test.ranges(); verify.pasteEdits({ args: { pastedText: [ `export const t = aa + bb + r + s; const u = 1;`, `export const k = r + m;`], - pasteLocations: [range[0], range[1]], - copiedFrom: { file: "file1.ts", range: [range[2], range[3]] }, + pasteLocations: [ranges[0], ranges[1]], + copiedFrom: { file: "file1.ts", range: [ranges[2], ranges[3]] }, }, newFileContents: { "/file1.ts":`import { aa, bb } from "./other"; diff --git a/tests/cases/fourslash/server/pasteEdits_multiplePastes4.ts b/tests/cases/fourslash/server/pasteEdits_multiplePastes4.ts index 61d25803abd3d..84ed288aa4840 100644 --- a/tests/cases/fourslash/server/pasteEdits_multiplePastes4.ts +++ b/tests/cases/fourslash/server/pasteEdits_multiplePastes4.ts @@ -19,11 +19,11 @@ // @Filename: /tsconfig.json ////{ "files": ["file1.ts", "target.ts", "file3.ts"] } -const range = test.ranges(); +const ranges = test.ranges(); verify.pasteEdits({ args: { pastedText: [ "const g = p + q;", "const f = r + s;"], - pasteLocations: [range[0], range[1], range[2]], + pasteLocations: [ranges[0], ranges[1], ranges[2]], }, newFileContents: { "/target.ts": diff --git a/tests/cases/fourslash/server/pasteEdits_multiplePastesConsistentlyLargerInSize.ts b/tests/cases/fourslash/server/pasteEdits_multiplePastesConsistentlyLargerInSize.ts new file mode 100644 index 0000000000000..5d0a825ddeb2c --- /dev/null +++ b/tests/cases/fourslash/server/pasteEdits_multiplePastesConsistentlyLargerInSize.ts @@ -0,0 +1,78 @@ +/// + +// @Filename: /a.ts +//// function foo() { +//// const p = 1; +//// [|console.log("yes");|] +//// } +//// class bar { +//// constructor() { +//// function a() { +//// [|console.log("have a good day");|] +//// } +//// a(); +//// function b() { +//// function c() { +//// const test = [|1 + 2|] + 3; +//// } +//// } +//// b(); +//// } +//// c() { +//// console.log("hello again"); +//// [|function k() { +//// const happy = banana + avocados; +//// }|] +//// } +//// } + +// @Filename: /b.ts +//// export const juice = 1; +//// export const sauce = 2; +//// export const fig = 3; +//// export const tomato = 4; + +// @Filename: /tsconfig.json +////{ "files": ["a.ts", "b.ts"] } + +verify.pasteEdits({ + args: { + pastedText: [ + `const t = 1 + juice + p;`,`function avacado() { return sauce; }`, + `fig + kiwi`, + `function k() { + const cherry = 3 + tomato + cucumber; + }` + ], + pasteLocations: test.ranges(), + }, + newFileContents: { + "/a.ts": +`import { juice, sauce, fig, tomato } from "./b"; + +function foo() { + const p = 1; + const t = 1 + juice + p; +} +class bar { + constructor() { + function a() { + function avacado() { return sauce; } + } + a(); + function b() { + function c() { + const test = fig + kiwi + 3; + } + } + b(); + } + c() { + console.log("hello again"); + function k() { + const cherry = 3 + tomato + cucumber; + } + } +}` + } +}); diff --git a/tests/cases/fourslash/server/pasteEdits_multiplePastesConsistentlySmallerInSize.ts b/tests/cases/fourslash/server/pasteEdits_multiplePastesConsistentlySmallerInSize.ts new file mode 100644 index 0000000000000..caa45d0d1dd49 --- /dev/null +++ b/tests/cases/fourslash/server/pasteEdits_multiplePastesConsistentlySmallerInSize.ts @@ -0,0 +1,92 @@ +/// + +// @Filename: /a.ts +//// function foo() { +//// const p = 1; +//// function bar() { +//// console.log([|"Testing"|]); +//// } +//// console.log("yes"); +//// } +//// class bar { +//// constructor() { +//// function a() { +//// function aa() { +//// con[|sole.log("have a good day");|] +//// } +//// +//// } +//// a(); +//// function b() { +//// function c() { +//// export const testing = 1; +//// const test = [|1 + testing + |]3; +//// } +//// } +//// b(); +//// } +//// c() { +//// console.log("hello again"); +//// [|function k() { +//// const happy = banana + avocados; +//// }|] +//// } +//// } + +// @Filename: /b.ts +//// export const juice = 1; +//// export const sauce = 2; +//// export const fig = 3; +//// export const tomato = 4; + +// @Filename: /tsconfig.json +////{ "files": ["a.ts", "b.ts"] } + +verify.pasteEdits({ + args: { + pastedText: [ + `juice`,`sole.log(sauce + juice);`, + `fig + kiwi`, + `function k() { + const cherry =tomato + kiwi; + }` + ], + pasteLocations: test.ranges(), + }, + newFileContents: { + "/a.ts": +`import { sauce, juice, fig, tomato } from "./b"; + +function foo() { + const p = 1; + function bar() { + console.log(juice); + } + console.log("yes"); +} +class bar { + constructor() { + function a() { + function aa() { + console.log(sauce + juice); + } + + } + a(); + function b() { + function c() { + export const testing = 1; + const test = fig + kiwi3; + } + } + b(); + } + c() { + console.log("hello again"); + function k() { + const cherry =tomato + kiwi; + } + } +}` + } +}); diff --git a/tests/cases/fourslash/server/pasteEdits_multiplePastesEqualInSize.ts b/tests/cases/fourslash/server/pasteEdits_multiplePastesEqualInSize.ts new file mode 100644 index 0000000000000..3e32e541e0d47 --- /dev/null +++ b/tests/cases/fourslash/server/pasteEdits_multiplePastesEqualInSize.ts @@ -0,0 +1,76 @@ +/// + +// @Filename: /a.ts +//// function foo() { +//// [|console.log("yes");|] +//// } +//// class bar { +//// constructor() { +//// function a() { +//// [|console.log("have a good day");|] +//// } +//// a(); +//// function b() { +//// function c() { +//// const test = [|1 + 2|] + 3; +//// } +//// } +//// b(); +//// } +//// c() { +//// console.log("hello again"); +//// [|function k() { +//// const happy = 1 + banana + avocados; +//// }|] +//// } +//// } + +// @Filename: /b.ts +//// export const juice = 1; +//// export const sauce = 2; +//// export const apple = 3; +//// export const tomato = 4; + +// @Filename: /tsconfig.json +////{ "files": ["a.ts", "b.ts"] } + +verify.pasteEdits({ + args: { + pastedText: [ + `console.log(juice);`,`function kl() { return sauce; }`, + `apple`, + `function k() { + const cherry = 3 + tomato + cucumber; + }` + ], + pasteLocations: test.ranges(), + }, + newFileContents: { + "/a.ts": +`import { juice, sauce, tomato } from "./b"; + +function foo() { + console.log(juice); +} +class bar { + constructor() { + function a() { + function kl() { return sauce; } + } + a(); + function b() { + function c() { + const test = apple + 3; + } + } + b(); + } + c() { + console.log("hello again"); + function k() { + const cherry = 3 + tomato + cucumber; + } + } +}` + } +}); diff --git a/tests/cases/fourslash/server/pasteEdits_multiplePastesGrowingAndShrinkingInSize.ts b/tests/cases/fourslash/server/pasteEdits_multiplePastesGrowingAndShrinkingInSize.ts new file mode 100644 index 0000000000000..27259b80edb82 --- /dev/null +++ b/tests/cases/fourslash/server/pasteEdits_multiplePastesGrowingAndShrinkingInSize.ts @@ -0,0 +1,73 @@ +/// + +// @Filename: /a.ts +//// function foo() { +//// console.[|log("Hello");|] +//// } +//// class bar { +//// [|constru|]ctor() { +//// function a() { +//// console.log("hii"); +//// } +//// a(); +//// function b() { +//// function c() { +//// [|console.log("hola");|] +//// } +//// } +//// b(); +//// } +//// c() { +//// console.log("hello again"); +//// [||] +//// } +//// } + +// @Filename: /b.ts +//// export const juice = 1; +//// export const sauce = 2; +//// export const tomato = 3; + +// @Filename: /tsconfig.json +////{ "files": ["a.ts", "b.ts"] } + +verify.pasteEdits({ + args: { + pastedText: [ + `log(sauce);`,`const apple = 1 + juice`, + `const kiwi = 1;`, + `function k() { + const cherry = 3 + tomato + cucumber; + }` + ], + pasteLocations: test.ranges(), + }, + newFileContents: { + "/a.ts": +`import { sauce, tomato } from "./b"; + +function foo() { + console.log(sauce); +} +class bar { + const apple = 1 + juicector() { + function a() { + console.log("hii"); + } + a(); + function b() { + function c() { + const kiwi = 1; + } + } + b(); + } + c() { + console.log("hello again"); + function k() { + const cherry = 3 + tomato + cucumber; + } + } +}` + } +}); diff --git a/tests/cases/fourslash/server/pasteEdits_multiplePastesGrowingInSize.ts b/tests/cases/fourslash/server/pasteEdits_multiplePastesGrowingInSize.ts new file mode 100644 index 0000000000000..9fb4fc26fdee7 --- /dev/null +++ b/tests/cases/fourslash/server/pasteEdits_multiplePastesGrowingInSize.ts @@ -0,0 +1,77 @@ +/// + +// @Filename: /a.ts +//// function foo() { +//// [|const p = 1;|] +//// } +//// function too() { +//// function k([|t: string|]) { +//// console.log(t); +//// } +//// } +//// class bar { +//// constructor() { +//// function a() { +//// [| console.log("hello");|] +//// } +//// a(); +//// } +//// c() { +//// console.log("hello again"); +//// [|function k() { +//// const happy = banana + avocados; +//// }|] +//// } +//// } + +// @Filename: /b.ts +//// export const juices = 1; +//// export const sauce = 2; + +// @Filename: /c.ts +//// export const figs = 3; +//// export const tomato = 4; + +// @Filename: /tsconfig.json +////{ "files": ["a.ts", "b.ts", "c.ts"] } + +verify.pasteEdits({ + args: { + pastedText: [ + `const t = figs;`,`apples : number`, + ` console.log(sauce + tomato); `, + `//function k(i:string) { + const cherry = 3 + juices + cucumber; +// }` + ], + pasteLocations: test.ranges(), + }, + newFileContents: { + "/a.ts": +`import { sauce, juices } from "./b"; +import { figs, tomato } from "./c"; + +function foo() { + const t = figs; +} +function too() { + function k(apples : number) { + console.log(t); + } +} +class bar { + constructor() { + function a() { + console.log(sauce + tomato); + } + a(); + } + c() { + console.log("hello again"); + //function k(i:string) { + const cherry = 3 + juices + cucumber; +// } + } +}` + } +}); diff --git a/tests/cases/fourslash/server/pasteEdits_multiplePastesShrinkingInSize.ts b/tests/cases/fourslash/server/pasteEdits_multiplePastesShrinkingInSize.ts new file mode 100644 index 0000000000000..4a9ad20b2a8a9 --- /dev/null +++ b/tests/cases/fourslash/server/pasteEdits_multiplePastesShrinkingInSize.ts @@ -0,0 +1,77 @@ +/// + +// @Filename: /a.ts +//// function foo() { +//// [|console.log("Good day");|] +//// } +//// function too() { +//// function k(t: string) { +//// [|console.log("Happy Holidays");|] +//// } +//// } +//// class bar { +//// constructor() { +//// function a() { +//// [| console.log("hello");|] +//// } +//// a(); +//// } +//// c() { +//// console.log("hello again"); +//// function k[|() { +//// const happy = banana + avocados; +//// }|] +//// } +//// } + +// @Filename: /b.ts +//// export const juices = 1; +//// export const sauce = 2; + +// @Filename: /c.ts +//// export const figs = 3; +//// export const tomato = 4; + +// @Filename: /tsconfig.json +////{ "files": ["a.ts", "b.ts", "c.ts"] } + +verify.pasteEdits({ + args: { + pastedText: [ + `console.log("Good ");`,`const k = figs + juices;`, + ` console.log(tomato);`, + `(kiwi: string) { + const cherry=tomato; + }` + ], + pasteLocations: test.ranges(), + }, + newFileContents: { + "/a.ts": +`import { juices } from "./b"; +import { figs, tomato } from "./c"; + +function foo() { + console.log("Good "); +} +function too() { + function k(t: string) { + const k = figs + juices; + } +} +class bar { + constructor() { + function a() { + console.log(tomato); + } + a(); + } + c() { + console.log("hello again"); + function k(kiwi: string) { + const cherry=tomato; + } + } +}` + } +}); diff --git a/tests/cases/fourslash/server/pasteEdits_noImportNeeded.ts b/tests/cases/fourslash/server/pasteEdits_noImportNeeded.ts index 156386a86ac7a..01f18bb50ceab 100644 --- a/tests/cases/fourslash/server/pasteEdits_noImportNeeded.ts +++ b/tests/cases/fourslash/server/pasteEdits_noImportNeeded.ts @@ -11,12 +11,12 @@ // @Filename: /tsconfig.json ////{ "files": ["a.ts", "b.ts"] } -const range = test.ranges(); +const ranges = test.ranges(); verify.pasteEdits({ args: { pastedText: [`export`], - pasteLocations: [range[0]], - copiedFrom: { file: "a.ts", range: [range[1]] }, + pasteLocations: [ranges[0]], + copiedFrom: { file: "a.ts", range: [ranges[1]] }, }, newFileContents: {} }); diff --git a/tests/cases/fourslash/server/pasteEdits_noImportNeededInUpdatedProgram.ts b/tests/cases/fourslash/server/pasteEdits_noImportNeededInUpdatedProgram.ts new file mode 100644 index 0000000000000..529780843d504 --- /dev/null +++ b/tests/cases/fourslash/server/pasteEdits_noImportNeededInUpdatedProgram.ts @@ -0,0 +1,20 @@ +/// + +// @Filename: /a.ts +//// [||] + +// @Filename: /b.ts +//// export const b = 10; + +// @Filename: /tsconfig.json +////{ "files": ["a.ts", "b.ts"] } + +verify.pasteEdits({ + args: { + pastedText: [ + `const b = 1; +console.log(b);`], + pasteLocations: test.ranges(), + }, + newFileContents: {} +}); diff --git a/tests/cases/fourslash/server/pasteEdits_pasteComments.ts b/tests/cases/fourslash/server/pasteEdits_pasteComments.ts index aa2d9ba943f26..eba7aca24666b 100644 --- a/tests/cases/fourslash/server/pasteEdits_pasteComments.ts +++ b/tests/cases/fourslash/server/pasteEdits_pasteComments.ts @@ -8,7 +8,6 @@ // @Filename: /tsconfig.json ////{ "files": ["target.ts"] } -const range = test.ranges(); verify.pasteEdits({ args: { pastedText: [ `/** @@ -17,7 +16,7 @@ verify.pasteEdits({ * line 3 * line 4 */`], - pasteLocations: [range[0]], + pasteLocations: test.ranges(), }, newFileContents: {} }); \ No newline at end of file diff --git a/tests/cases/fourslash/server/pasteEdits_pasteIntoSameFile.ts b/tests/cases/fourslash/server/pasteEdits_pasteIntoSameFile.ts index 06bedadcd1724..466c0b1ddbe2c 100644 --- a/tests/cases/fourslash/server/pasteEdits_pasteIntoSameFile.ts +++ b/tests/cases/fourslash/server/pasteEdits_pasteIntoSameFile.ts @@ -10,12 +10,12 @@ // @Filename: /tsconfig.json ////{ "files": ["target.ts"] } -const range = test.ranges(); +const ranges = test.ranges(); verify.pasteEdits({ args: { pastedText: [ `console.log(k);`], - pasteLocations: [range[1]], - copiedFrom: { file: "target.ts", range: [range[0]] }, + pasteLocations: [ranges[1]], + copiedFrom: { file: "target.ts", range: [ranges[0]] }, }, newFileContents: {} }); diff --git a/tests/cases/fourslash/server/pasteEdits_revertUpdatedFile.ts b/tests/cases/fourslash/server/pasteEdits_revertUpdatedFile.ts index fbe0e77ef2f99..8bb485b699540 100644 --- a/tests/cases/fourslash/server/pasteEdits_revertUpdatedFile.ts +++ b/tests/cases/fourslash/server/pasteEdits_revertUpdatedFile.ts @@ -17,11 +17,10 @@ // @Filename: /tsconfig.json ////{ "files": ["target.ts", "other.ts", "other2.ts"] } -const range = test.ranges(); verify.pasteEdits({ args: { pastedText: [ `const m = t2 + 1;`], - pasteLocations: [range[0]], + pasteLocations: test.ranges(), }, newFileContents: { "/target.ts": diff --git a/tests/cases/fourslash/server/pasteEdits_unknownSourceFile.ts b/tests/cases/fourslash/server/pasteEdits_unknownSourceFile.ts index afd370f875a74..ac77ec6527c44 100644 --- a/tests/cases/fourslash/server/pasteEdits_unknownSourceFile.ts +++ b/tests/cases/fourslash/server/pasteEdits_unknownSourceFile.ts @@ -14,7 +14,6 @@ // @Filename: /tsconfig.json ////{ "files": ["file1.ts", "file2.ts"] } -const range = test.ranges(); verify.pasteEdits({ args: { pastedText: [ `interface Testing { @@ -23,7 +22,7 @@ verify.pasteEdits({ test3: Test3; test4: Test4; }`], - pasteLocations: [range[0]], + pasteLocations: test.ranges(), }, newFileContents: { "/file2.ts":